久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2180|回復(fù): 1
收起左側(cè)

STM32F10X ModBus RTU master code

[復(fù)制鏈接]
ID:656243 發(fā)表于 2019-12-4 20:39 | 顯示全部樓層 |閱讀模式
代碼經(jīng)測(cè)試有效  可參考

單片機(jī)源程序如下:

  1. #include "main.h"
  2. #include "stm32f0xx_hal.h"
  3. #include "modbus_master.h"
  4. /* USER CODE BEGIN Includes */

  5. /* USER CODE END Includes */

  6. /* Private variables ---------------------------------------------------------*/
  7. UART_HandleTypeDef huart2;

  8. /* USER CODE BEGIN PV */
  9. /* Private variables ---------------------------------------------------------*/

  10. /* USER CODE END PV */

  11. /* Private function prototypes -----------------------------------------------*/
  12. void SystemClock_Config(void);
  13. static void MX_GPIO_Init(void);
  14. static void MX_USART2_UART_Init(void);

  15. /* USER CODE BEGIN PFP */
  16. /* Private function prototypes -----------------------------------------------*/

  17. /* USER CODE END PFP */

  18. /* USER CODE BEGIN 0 */

  19. /* USER CODE END 0 */

  20. int main(void)
  21. {
  22.   uint8_t state=0;
  23.         uint16_t  Input_Result[2];
  24.   HAL_Init();
  25.   SystemClock_Config();
  26.   MX_GPIO_Init();
  27.         ModbusMaster_begin();
  28.   MX_USART2_UART_Init();
  29.   
  30.   while (1)
  31.   {
  32.                 uint8_t result;
  33.                 //測(cè)試Read Input Registers功能
  34.                 //從機(jī)地址0x01 ,寄存器地址 0x02 ,連續(xù)讀2個(gè)寄存器地址
  35.                 result = ModbusMaster_readInputRegisters(0x01,0x2, 2);
  36.                 if (result == 0x00)
  37.                 {
  38.                         Input_Result[0] = ModbusMaster_getResponseBuffer(0x00);
  39.                         Input_Result[1] = ModbusMaster_getResponseBuffer(0x01);
  40.                 }
  41.                         HAL_Delay(1000);
  42.   }

  43. }

  44. /** System Clock Configuration
  45. */
  46. void SystemClock_Config(void)
  47. {

  48.   RCC_OscInitTypeDef RCC_OscInitStruct;
  49.   RCC_ClkInitTypeDef RCC_ClkInitStruct;

  50.     /**Initializes the CPU, AHB and APB busses clocks
  51.     */
  52.   RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI48;
  53.   RCC_OscInitStruct.HSI48State = RCC_HSI48_ON;
  54.   RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
  55.   if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
  56.   {
  57.     _Error_Handler(__FILE__, __LINE__);
  58.   }

  59.     /**Initializes the CPU, AHB and APB busses clocks
  60.     */
  61.   RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
  62.                               |RCC_CLOCKTYPE_PCLK1;
  63.   RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI48;
  64.   RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
  65.   RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;

  66.   if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1) != HAL_OK)
  67.   {
  68.     _Error_Handler(__FILE__, __LINE__);
  69.   }

  70.     /**Configure the Systick interrupt time
  71.     */
  72.   HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000);

  73.     /**Configure the Systick
  74.     */
  75.   HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK);

  76.   /* SysTick_IRQn interrupt configuration */
  77.   HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0);
  78. }

  79. /* USART2 init function */
  80. static void MX_USART2_UART_Init(void)
  81. {

  82.   huart2.Instance = USART2;
  83.   huart2.Init.BaudRate = 115200;
  84.   huart2.Init.WordLength = UART_WORDLENGTH_8B;
  85.   huart2.Init.StopBits = UART_STOPBITS_1;
  86.   huart2.Init.Parity = UART_PARITY_NONE;
  87.   huart2.Init.Mode = UART_MODE_TX_RX;
  88.   huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE;
  89.   huart2.Init.OverSampling = UART_OVERSAMPLING_16;
  90.   huart2.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
  91.   huart2.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
  92.   if (HAL_UART_Init(&huart2) != HAL_OK)
  93.   {
  94.     _Error_Handler(__FILE__, __LINE__);
  95.   }
  96.   __HAL_UART_ENABLE_IT(&huart2,UART_IT_RXNE);
  97. }

  98. /** Configure pins as
  99.         * Analog
  100.         * Input
  101.         * Output
  102.         * EVENT_OUT
  103.         * EXTI
  104. */
  105. static void MX_GPIO_Init(void)
  106. {

  107.   /* GPIO Ports Clock Enable */
  108.   __HAL_RCC_GPIOA_CLK_ENABLE();

  109. }

  110. /* USER CODE BEGIN 4 */

  111. /* USER CODE END 4 */

  112. /**
  113.   * @brief  This function is executed in case of error occurrence.
  114.   * @param  None
  115.   * @retval None
  116.   */
  117. void _Error_Handler(char * file, int line)
  118. {
  119.   /* USER CODE BEGIN Error_Handler_Debug */
  120.   /* User can add his own implementation to report the HAL error return state */
  121.   while(1)
  122.   {
  123.   }
  124.   /* USER CODE END Error_Handler_Debug */
  125. }

  126. #ifdef USE_FULL_ASSERT

  127. /**
  128.    * @brief Reports the name of the source file and the source line number
  129.    * where the assert_param error has occurred.
  130.    * @param file: pointer to the source file name
  131.    * @param line: assert_param error line source number
  132.    * @retval None
  133.    */
  134. void assert_failed(uint8_t* file, uint32_t line)
  135. {
  136.   /* USER CODE BEGIN 6 */
  137.   /* User can add his own implementation to report the file name and line number,
  138.     ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
  139.   /* USER CODE END 6 */

  140. }

  141. #endif

  142. /**
  143.   * @}
  144.   */

  145. /**
  146.   * @}
  147. */

  148. /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

復(fù)制代碼

所有資料51hei提供下載:
ModBus-Master-master.7z (1.19 MB, 下載次數(shù): 74)
回復(fù)

使用道具 舉報(bào)

ID:111310 發(fā)表于 2021-8-27 01:04 | 顯示全部樓層
有從站的嗎?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产精品久久久久久久久动漫 | 韩日精品一区 | 亚洲精品在线视频 | 久久久久久成人 | 欧美aaaa视频 | 在线成人免费av | a精品视频 | 国产精品视频二区三区 | 久久久久久国产精品 | 国产乱码久久久 | 久久国产精品免费 | 中文字幕一级 | 精品日韩一区二区三区av动图 | 日韩中文字幕在线视频观看 | 久热国产在线 | 国产日韩欧美激情 | 久久久免费电影 | 一区二区在线不卡 | 日韩欧美精品 | 久久之精品 | 亚洲 欧美 另类 综合 偷拍 | 免费一级做a爰片久久毛片潮喷 | www亚洲精品 | 亚洲午夜av | 亚洲精品视频一区 | 国产亚洲精品久久久优势 | 欧美专区日韩专区 | 久久视频免费看 | 成人免费在线视频 | 中文字幕免费在线 | 一区二区三区免费网站 | 亚洲区一| 欧美日韩国产一区二区 | 国产高清视频在线观看播放 | 91久久久久久久久久久 | 人人射人人 | 久久国| 亚洲成人一区 | 天天干天天操天天看 | 色免费视频 | 午夜影院在线观看 |