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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2499|回復: 1
打印 上一主題 下一主題
收起左側

ModBus-Master-master stm32F4XX源程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:606051 發表于 2019-9-1 14:17 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
    stm32F4XX modbus

單片機源程序如下:

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

  6. /* USER CODE END Includes */

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

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

  11. /* USER CODE END PV */

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

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

  18. /* USER CODE END PFP */

  19. /* USER CODE BEGIN 0 */

  20. /* USER CODE END 0 */

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

  44. }

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

  49.   RCC_OscInitTypeDef RCC_OscInitStruct;
  50.   RCC_ClkInitTypeDef RCC_ClkInitStruct;

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

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

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

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

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

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

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

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

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

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

  110. }

  111. /* USER CODE BEGIN 4 */

  112. /* USER CODE END 4 */

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

  127. #ifdef USE_FULL_ASSERT

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

  141. }

  142. #endif

  143. /**
  144.   * @}
  145.   */

  146. /**
  147.   * @}
  148. */

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

復制代碼

所有資料51hei提供下載:
ModBus-Master-master.7z (1.19 MB, 下載次數: 42)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:67179 發表于 2019-10-19 21:47 | 只看該作者
謝謝分享!!
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩av在线一区二区 | 日日操夜夜摸 | 欧美一级免费 | 精品二区 | 日韩电影一区 | 欧美不卡视频一区发布 | 五月综合激情婷婷 | 国产精品日韩欧美一区二区三区 | 精产国产伦理一二三区 | 91看片网 | 国内精品视频在线 | 国产高清一区二区 | 天天爽夜夜骑 | 99热热热| 中文字幕视频三区 | 国产激情视频网站 | 欧美二区在线 | 亚洲一区二区三区四区视频 | 伊人免费在线观看高清 | 天天草夜夜骑 | 91精品国产麻豆 | 91色视频在线观看 | 亚洲人成网亚洲欧洲无码 | 毛片网站在线观看 | 免费视频久久久久 | 欧美久操网 | 国产精品久久久久久妇女6080 | 欧美一级黄 | 人和拘一级毛片c | 黄色成人免费看 | 中文字幕亚洲视频 | 一级毛片色一级 | 97免费在线观看视频 | 国产一级在线观看 | 91精品国产色综合久久 | 亚洲国产精品一区二区久久 | 99精品欧美| 伊人久久精品一区二区三区 | 91成人在线 | 国产伦精品一区二区三区四区视频 | 日韩精品久久久久久 |