久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
ModBus-Master-master stm32F4XX源程序
[打印本頁]
作者:
123174145
時間:
2019-9-1 14:17
標題:
ModBus-Master-master stm32F4XX源程序
stm32F4XX modbus
單片機源程序如下:
/* Includes ------------------------------------------------------------------*/
#include "main.h"
#include "stm32f0xx_hal.h"
#include "modbus_master.h"
/* USER CODE BEGIN Includes */
/* USER CODE END Includes */
/* Private variables ---------------------------------------------------------*/
UART_HandleTypeDef huart2;
/* USER CODE BEGIN PV */
/* Private variables ---------------------------------------------------------*/
/* USER CODE END PV */
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_USART2_UART_Init(void);
/* USER CODE BEGIN PFP */
/* Private function prototypes -----------------------------------------------*/
/* USER CODE END PFP */
/* USER CODE BEGIN 0 */
/* USER CODE END 0 */
int main(void)
{
uint8_t state=0;
uint16_t Input_Result[2];
HAL_Init();
SystemClock_Config();
MX_GPIO_Init();
ModbusMaster_begin();
MX_USART2_UART_Init();
while (1)
{
uint8_t result;
//測試Read Input Registers功能
//從機地址0x01 ,寄存器地址 0x02 ,連續讀2個寄存器地址
result = ModbusMaster_readInputRegisters(0x01,0x2, 2);
if (result == 0x00)
{
Input_Result[0] = ModbusMaster_getResponseBuffer(0x00);
Input_Result[1] = ModbusMaster_getResponseBuffer(0x01);
}
HAL_Delay(1000);
}
}
/** System Clock Configuration
*/
void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct;
RCC_ClkInitTypeDef RCC_ClkInitStruct;
/**Initializes the CPU, AHB and APB busses clocks
*/
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI48;
RCC_OscInitStruct.HSI48State = RCC_HSI48_ON;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
{
_Error_Handler(__FILE__, __LINE__);
}
/**Initializes the CPU, AHB and APB busses clocks
*/
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
|RCC_CLOCKTYPE_PCLK1;
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI48;
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1) != HAL_OK)
{
_Error_Handler(__FILE__, __LINE__);
}
/**Configure the Systick interrupt time
*/
HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000);
/**Configure the Systick
*/
HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK);
/* SysTick_IRQn interrupt configuration */
HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0);
}
/* USART2 init function */
static void MX_USART2_UART_Init(void)
{
huart2.Instance = USART2;
huart2.Init.BaudRate = 115200;
huart2.Init.WordLength = UART_WORDLENGTH_8B;
huart2.Init.StopBits = UART_STOPBITS_1;
huart2.Init.Parity = UART_PARITY_NONE;
huart2.Init.Mode = UART_MODE_TX_RX;
huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE;
huart2.Init.OverSampling = UART_OVERSAMPLING_16;
huart2.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
huart2.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
if (HAL_UART_Init(&huart2) != HAL_OK)
{
_Error_Handler(__FILE__, __LINE__);
}
__HAL_UART_ENABLE_IT(&huart2,UART_IT_RXNE);
}
/** Configure pins as
* Analog
* Input
* Output
* EVENT_OUT
* EXTI
*/
static void MX_GPIO_Init(void)
{
/* GPIO Ports Clock Enable */
__HAL_RCC_GPIOA_CLK_ENABLE();
}
/* USER CODE BEGIN 4 */
/* USER CODE END 4 */
/**
* @brief This function is executed in case of error occurrence.
* @param None
* @retval None
*/
void _Error_Handler(char * file, int line)
{
/* USER CODE BEGIN Error_Handler_Debug */
/* User can add his own implementation to report the HAL error return state */
while(1)
{
}
/* USER CODE END Error_Handler_Debug */
}
#ifdef USE_FULL_ASSERT
/**
* @brief Reports the name of the source file and the source line number
* where the assert_param error has occurred.
* @param file: pointer to the source file name
* @param line: assert_param error line source number
* @retval None
*/
void assert_failed(uint8_t* file, uint32_t line)
{
/* USER CODE BEGIN 6 */
/* User can add his own implementation to report the file name and line number,
ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
/* USER CODE END 6 */
}
#endif
/**
* @}
*/
/**
* @}
*/
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
復制代碼
所有資料51hei提供下載:
ModBus-Master-master.7z
(1.19 MB, 下載次數: 42)
2019-9-2 04:26 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
lionlike
時間:
2019-10-19 21:47
謝謝分享!!
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
综合久久久
|
特级黄一级播放
|
国产亚洲精品久久久久久牛牛
|
国产玖玖
|
91精品国产99
|
狠狠撸在线视频
|
国产激情精品一区二区三区
|
欧美舔穴
|
中文字幕国产视频
|
av网站在线免费观看
|
99热首页
|
亚洲精品一区二区三区在线
|
久久亚洲一区二区三区四区
|
一级毛片视频
|
一区二区三区视频在线观看
|
91在线一区
|
国产欧美在线观看
|
欧美激情亚洲天堂
|
国产成人免费网站
|
一区二区视频在线观看
|
国产一区二区三区网站
|
成人免费视频网站在线观看
|
jlzzjlzz欧美大全
|
一级毛片视频
|
中文字幕av网站
|
www.色综合
|
亚洲最大成人综合
|
免费观看毛片
|
午夜性色a√在线视频观看9
|
久久久久成人精品免费播放动漫
|
av在线免费不卡
|
成人妇女免费播放久久久
|
欧美一级网站
|
精品国产乱码久久久久久中文
|
日韩视频国产
|
免费看av大片
|
日本黄色免费视频
|
国外成人在线视频
|
色先锋影音
|
天天射影院
|
人操人人干人
|