找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2038|回复: 0
打印 上一主题 下一主题
收起左侧

STM32F0RBTx智能井盖控制源程序

[复制链接]
跳转到指定楼层
楼主
智能井盖

FreeRTOS

GPS+BMA253传感器

串口通讯

单片机源程序如下:
  1. /* USER CODE END Header */

  2. /* Includes ------------------------------------------------------------------*/
  3. #include "main.h"
  4. #include "cmsis_os.h"
  5. #include "OEM_I2C.h"
  6. #include "OEM_Uart.h"
  7. #include "ATHandler.h"
  8. #include "sensor_api.h"
  9. #include "HAL_OS_API.h"
  10. #include "HAL_TCP_API.h"
  11. #include "HAL_UDP_API.h"
  12. #include "iot_protocol.h"
  13. #include "sensor_bma253.h"
  14. #include "gps_nmea_parse.h"
  15. #include "iot_data_packed.h"

  16. /* Private includes ----------------------------------------------------------*/
  17. /* USER CODE BEGIN Includes */

  18. /* USER CODE END Includes */

  19. /* Private typedef -----------------------------------------------------------*/
  20. /* USER CODE BEGIN PTD */

  21. /* USER CODE END PTD */

  22. /* Private define ------------------------------------------------------------*/
  23. /* USER CODE BEGIN PD */

  24. /* USER CODE END PD */

  25. /* Private macro -------------------------------------------------------------*/
  26. /* USER CODE BEGIN PM */

  27. /* USER CODE END PM */

  28. /* Private variables ---------------------------------------------------------*/
  29. RTC_HandleTypeDef hRtc;
  30. IWDG_HandleTypeDef hiwdg;

  31. static MAYBE_UNUSED osThreadId hSensorTask;
  32. static MAYBE_UNUSED osThreadId hProcessTask;

  33. static MAYBE_UNUSED char WorkingBuf[256*2];
  34. static MAYBE_UNUSED stAT_URC_t URCTabBuf[2];

  35. static osMessageQId  MsgBox;

  36. /* USER CODE BEGIN PV */

  37. /* USER CODE END PV */

  38. /* Private function prototypes -----------------------------------------------*/
  39. void SystemClock_Config(void);
  40. void StartSensorMonitorTask(void const * argument);
  41. void StartDataProcessTask(void const * argument);

  42. /* USER CODE BEGIN PFP */

  43. /* USER CODE END PFP */

  44. /* Private user code ---------------------------------------------------------*/
  45. /* USER CODE BEGIN 0 */
  46. /**
  47.   * @brief  Retargets the C library printf function to the USART.
  48.   * @param  None
  49.   * @retval None
  50.   */
  51. int fputc(int ch, FILE *f)
  52. {
  53.         /* Place your implementation of fputc here */
  54.         /* e.g. write a character to the EVAL_COM1 and Loop until the end of transmission */
  55.         HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xffff);
  56.         return ch;
  57. }
  58. /* USER CODE END 0 */

  59. /**
  60.   * @brief  Toggles the selected LED.
  61.   * @param  Led: Specifies the Led to be toggled.
  62.   *         This parameter must be: LED2
  63.   * @retval None
  64.   */
  65. static MAYBE_UNUSED void STM_EVAL_LED_Toggle(void)
  66. {
  67.         HAL_GPIO_TogglePin(LD2_GPIO_Port, LD2_Pin);
  68. }

  69. static MAYBE_UNUSED void casic_gps_rsp_callback(char *rspinfo, int rsplen,void *arg)
  70. {
  71.         if (NULL == rspinfo || rsplen == 0)
  72.         {
  73.         LOGE("invalid input at %s \r\n", __func__);
  74.         return;
  75.     }

  76.     LOGI("+++++++++++++++++ rsp = %s \r\n", rspinfo);
  77.         gps_data_t gpsdata;

  78.         if (0 == gps_gp_proc(rspinfo, &gpsdata))
  79.         {
  80.                 printf("lat is %f lon is %f elv is %f\r\n", gpsdata.lat, gpsdata.lon, gpsdata.elv);
  81.         }

  82.         return;
  83. }

  84. static MAYBE_UNUSED BOOL ConfigClockFromPLL(void)
  85. {
  86. #if 0
  87.         RCC_ClkInitTypeDef RCC_ClkInitStruct;

  88.     // Select PLL as system clock source and configure the HCLK and PCLK1 clocks dividers
  89.     RCC_ClkInitStruct.ClockType      = (RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_PCLK1);
  90.     RCC_ClkInitStruct.SYSCLKSource   = RCC_SYSCLKSOURCE_PLLCLK; // 48 MHz
  91.     RCC_ClkInitStruct.AHBCLKDivider  = RCC_SYSCLK_DIV1;         // 48 MHz
  92.     RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;           // 48 MHz
  93.     if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1) != HAL_OK)
  94.         {
  95. ……………………

  96. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
STM32F0RBTx-20192026.7z (2.94 MB, 下载次数: 19)


管脚使用.jpg (69.77 KB, 下载次数: 26)

管脚使用.jpg
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表