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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2114|回復: 0
收起左側

STM32F0RBTx智能井蓋控制源程序

[復制鏈接]
ID:703180 發表于 2020-3-5 21:59 | 顯示全部樓層 |閱讀模式
智能井蓋

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
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91在线观看视频 | 日本电影免费完整观看 | 国产色| 久久av网| 国产精品一区二区三 | 干干天天| 久久精品亚洲 | h视频网站在线观看 | 久久久久国产 | 中国一级特黄真人毛片免费观看 | 亚洲一本| 深夜福利影院 | 华人黄网站大全 | 国产一区二区三区 | 欧美亚洲成人网 | 久久精品色欧美aⅴ一区二区 | 色婷婷国产精品综合在线观看 | 久久久久亚洲精品 | 日韩影院在线 | 亚洲视频一 | 亚洲精品乱码久久久久久蜜桃91 | 国产精品一区二区在线 | 91视频亚洲 | 国产成人精品999在线观看 | 久久综合99 | 一区二区三区视频 | 在线一区视频 | 亚洲欧美中文日韩在线v日本 | 精品欧美 | 成年人在线观看视频 | 国产欧美视频一区 | 国产精品久久久久久久免费大片 | 涩涩视频网站在线观看 | 久久久久久一区 | 欧美激情精品久久久久久变态 | 99re视频在线 | 亚洲午夜av | 日韩精品中文字幕一区二区三区 | 亚洲福利 | 亚洲啪啪一区 | 国产精品美女久久久 |