当前位置: 首页 > news >正文

网站客服怎么做谷歌关键词工具

网站客服怎么做,谷歌关键词工具,手机网站推广怎么做,满城网站建设【stm32】hal库学习笔记-UART/USART串口通信 hal库驱动函数 CubeMX图形化配置 导入LCD.ioc RTC设置 时钟树配置 设置LSE为RTC时钟源 USART设置 中断设置 程序编写 编写主函数 /* USER CODE BEGIN 2 */lcd_init();lcd_show_str(10, 10, 16, "Demo12_1:USART1-CH340&q…

【stm32】hal库学习笔记-UART/USART串口通信

hal库驱动函数

在这里插入图片描述

在这里插入图片描述

CubeMX图形化配置

导入LCD.ioc
RTC设置
在这里插入图片描述
时钟树配置
设置LSE为RTC时钟源
在这里插入图片描述USART设置
在这里插入图片描述中断设置
在这里插入图片描述

程序编写

编写主函数

  /* USER CODE BEGIN 2 */lcd_init();lcd_show_str(10, 10, 16, "Demo12_1:USART1-CH340", RED);lcd_show_str(10, 30, 16, "Please connect board with PC", RED);lcd_show_str(10, 50, 16, "via MiniUSB line before power on", RED);uint8_t hello1[] = "Hello, blocking\n";HAL_UART_Transmit(&huart1, hello1, sizeof(hello1), 500);HAL_Delay(10);uint8_t hello2[] = "Hello, none blocking\n";HAL_UART_Transmit_IT(&huart1, hello2, sizeof(hello2));lcd_show_str(10, 90, 16, "Received command string is: ", RED);HAL_UART_Receive_IT(&huart1, rxBuffer, RX_CMD_LEN);/* USER CODE END 2 */

在rtc.c中重写回调函数

/* USER CODE BEGIN 1 */
void HAL_RTCEx_WakeUpTimerEventCallback(RTC_HandleTypeDef *hrtc) {RTC_TimeTypeDef sTime;RTC_DateTypeDef sDate;if (HAL_RTC_GetTime(hrtc, &sTime, RTC_FORMAT_BIN) == HAL_OK) {HAL_RTC_GetDate(hrtc, &sDate, RTC_FORMAT_BIN);uint8_t timeStr[20];sprintf(timeStr, "%2d:%2d:%2d\n", sTime.Hours, sTime.Minutes, sTime.Seconds);lcd_show_str(30, 70, 16, timeStr, BLACK);if (isUploadTime) {HAL_UART_Transmit(&huart1, timeStr, strlen(timeStr), 200);}}
}
/* USER CODE END 1 */

在usart.h文件中编写定义

/* USER CODE BEGIN Private defines */
#define RX_CMD_LEN 5
extern uint8_t rxBuffer[];
extern uint8_t isUploadTime;
/* USER CODE END Private defines */

编写usart.c

/* USER CODE BEGIN 0 */
#include "rtc.h"
#include "lcd.h"
#include <string.h>uint8_t proBuffer[10] = "#S45;\n";
uint8_t rxBuffer[10] = "#H12;\n";
uint8_t rxCompleted = RESET;
uint8_t isUploadTime = 1;
/* USER CODE END 0 */
/* USER CODE BEGIN 1 */
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) {if (huart->Instance == USART1) {rxCompleted = SET;for (uint16_t i = 0; i < RX_CMD_LEN; i++) {proBuffer[i] = rxBuffer[i];__HAL_UART_ENABLE_IT(huart, UART_IT_IDLE);}}
}void on_UART_IDLE(UART_HandleTypeDef *huart) {if (__HAL_UART_GET_FLAG(huart, UART_FLAG_IDLE) == RESET) {return;}__HAL_UART_CLEAR_IDLEFLAG(huart);__HAL_UART_DISABLE_IT(huart, UART_IT_IDLE);if (rxCompleted) {HAL_UART_Transmit(huart, proBuffer, strlen(proBuffer), 100);HAL_Delay(10);updateRTCTime();lcd_show_str(30, 110, 16, proBuffer, BLACK);rxCompleted = RESET;HAL_UART_Receive_IT(huart, rxBuffer, RX_CMD_LEN);}
}void updateRTCTime() {if (proBuffer[0] != '#') {return;}uint8_t timeSection = proBuffer[1];uint8_t temp10 = proBuffer[2] - '0';uint8_t temp1 = proBuffer[3] - '0';uint8_t value = 10 * temp10 + temp1;if (timeSection == 'U') {isUploadTime = value;return;}RTC_TimeTypeDef sTime;RTC_DateTypeDef sDate;if (HAL_RTC_GetTime(&hrtc, &sTime, RTC_FORMAT_BIN) == HAL_OK) {HAL_RTC_GetDate(&hrtc, &sDate, RTC_FORMAT_BIN);sTime.DayLightSaving = 0;sTime.StoreOperation = 0;if (timeSection == 'H') {sTime.Hours = value;} else if (timeSection == 'M') {sTime.Minutes = value;} else if (timeSection == 'S') {sTime.Seconds = value;}HAL_RTC_SetTime(&hrtc, &sTime, RTC_FORMAT_BIN);}
}/* USER CODE END 1 */

实现效果

在这里插入图片描述
在这里插入图片描述

http://www.tj-hxxt.cn/news/60416.html

相关文章:

  • 自己电脑做网站模板北京关键词优化服务
  • 如何做电子商城网站百度关键字优化精灵
  • 一般产地证去哪个网站做企业培训考试app
  • wordpress更改文件上传目录全国最好网络优化公司
  • 网站开发技术实验总结百度关键词刷排名教程
  • 免费网站建设价格黑帽seo技术论坛
  • 哪个网站做推广效果好郑州seo排名哪有
  • 苹果手机怎么做网站谷歌关键词搜索工具
  • 网站信任的体验如何做东莞百度推广优化
  • 网站如何做电脑和手机软件长沙百度搜索排名
  • 那个网站做电子批发效果好怎么弄属于自己的网站
  • 上海广告公司网站制作深圳网站设计公司
  • 可以做推广东西的网站推广一个产品有哪些方式
  • 网站设计网站开发新网站推广最直接的方法
  • 南山做网站联系电话做网络推广
  • 东至网站定制手机网站
  • 嘉兴高端网站建设本周国内新闻
  • 网上推广网站seo精华网站
  • 南京网站设计与制作网页免费制作网站
  • 专业制作网站费用seo外链是什么意思
  • 网站流量推广外贸推广代理
  • wordpress网站测试百度游戏排行榜风云榜
  • 做相册网站推荐百度直播推广
  • 妇科医院网站优化服务商天津网站建设优化
  • 慈溪做网站的公司新东方在线koolearn
  • 常德尚一网seo免费自学的网站
  • 免费申请做网站最近一周的重大热点新闻
  • 招聘网站建设人员企业网站模板
  • 东莞公司网站建设国外网站排名前十
  • 网站登录验证码不正确关键字挖掘