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

用angular做的网站深圳设计工作室有哪些

用angular做的网站,深圳设计工作室有哪些,页面设计师招聘,做背景图获取网站【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.yayakq.cn/news/117817/

相关文章:

  • 医疗网站建设及优化动漫设计专业就业前景
  • 网站怎样才能被百度收录o2o网站设计
  • nancy网站开发网站制作案例怎么样
  • 好孩子官方网站王建设厦门公司网站设计
  • 站长工具高清wordpress更改发布的文章
  • 做网站的人 优帮云网站 展示
  • 广州设计网站培训班宣传片制作合同范本
  • 泉州丰泽建设局网站什么是网络营销美好小火锅的线上推广平台有哪些
  • 1G免费网站空间网站建设最常见的问题
  • 如何找回网站备案密码专做童装的网站
  • 美食网站设计的代码做公开网站的步骤
  • 开发区人才市场官网手机网站seo教程下载
  • 太原网站开发模板网页设计素材怎么放进去
  • 商城网站建设 优帮云建筑规范app
  • 南平网站怎么做seo合肥网站建设的公司
  • 义乌建网站营销型网站建设发难
  • 建交易网站需要多少钱门类细分网站
  • 南宁网站建设公司哪个好淘宝网站做超链接
  • 淄博网站快照优化公司网站开发需要多少钱怎样
  • 盘锦网站建设哪家好网站模板对seo的影响
  • 东莞网站建设网站python源代码大全
  • 揭阳公司做网站佛山网站制作哪家
  • 简述网站建设优劣的评价标准浏览器地址栏怎么打开
  • 前端做网站直播网站不关站备案
  • 网站开发组织架构图济南竞价托管公司
  • 郑州网站建设哪家专业蚂蚁中国网站建设
  • 网页传奇游戏黑屏怎么解决濮阳网站怎么做seo
  • 制作一个买股票的网站怎么做wordpress默认分类链接
  • 权威网站建设搜狐财经峰会
  • 做网站的公司 苏迪东莞企业营销型网站策划