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

降龙网络专业做网站标识设计网站

降龙网络专业做网站,标识设计网站,如何在百度上建立网站,网址输入文章目录 前言注意事项Cubemx配置printf重定向修改工程属性修改源码 测试函数 前言 最近学到了串口收发,简单记录一下注意事项。 注意事项 Cubemx配置 以使用USART1为例。 USART1需配置成异步工作模式Asynchronous。 并且需要使能NVIC。 printf重定向 我偏向…

文章目录

  • 前言
  • 注意事项
    • Cubemx配置
    • printf重定向
    • 修改工程属性
    • 修改源码
  • 测试函数

前言

最近学到了串口收发,简单记录一下注意事项。

注意事项

Cubemx配置

以使用USART1为例。
USART1需配置成异步工作模式Asynchronous
在这里插入图片描述
并且需要使能NVIC
在这里插入图片描述

printf重定向

我偏向于在stm32f1xx_it.c文件中对printf进行重定向,重定向函数如下。

int fputc(int ch,FILE * fp)
{HAL_UART_Transmit(&huart1,(uint8_t * )&ch,1,0xffff);return ch;
}

同时需包含头文件路径#include “stdio.h”

修改工程属性

在工程属性Target下,勾选Use MicroLIB

至此,可以由printf语句经USART1发送数据了。

修改源码

  1. 添加变量定义

/* USER CODE BEGIN Private defines */
#define USART_REC_LEN 200
#define RXBUFFERSIZE 1
extern	uint16_t	USART_RX_STA;  
extern	uint8_t		USART_RX_BUF[USART_REC_LEN];
extern	uint8_t		aRxBuffer[RXBUFFERSIZE];
/* USER CODE END Private defines */
  1. 在Cubemx生成的串口初始化函数MX_USART1_UART_Init增加如下语句
HAL_UART_Receive_IT(&huart1, (uint8_t *)aRxBuffer, RXBUFFERSIZE);
  1. 在stm32f1xx_it.c文件中添加如下函数
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{if(huart->Instance==USART1)//{if((USART_RX_STA&0x8000)==0)//{if(USART_RX_STA&0x4000)//{if(aRxBuffer[0]!=0x0a)USART_RX_STA=0;//else USART_RX_STA|=0x8000;	//}else //{	if(aRxBuffer[0]==0x0d)USART_RX_STA|=0x4000;else{USART_RX_BUF[USART_RX_STA&0X3FFF]=aRxBuffer[0] ;USART_RX_STA++;if(USART_RX_STA>(USART_REC_LEN-1))USART_RX_STA=0;//}		 }}}
}
  1. 在stm32f1xx_it.c文件中找到USART1_IRQHandler并修改为如下函数:
void USART1_IRQHandler(void)
{uint32_t timeout=0;/* USER CODE BEGIN USART1_IRQn 0 *//* USER CODE END USART1_IRQn 0 */HAL_UART_IRQHandler(&huart1);/* USER CODE BEGIN USART1_IRQn 1 */timeout=0;while (HAL_UART_GetState(&huart1) != HAL_UART_STATE_READY)//{timeout++;//if(timeout>HAL_MAX_DELAY) break;		}timeout=0;while(HAL_UART_Receive_IT(&huart1, (uint8_t *)aRxBuffer, RXBUFFERSIZE) != HAL_OK)//Ò»´Î´¦ÀíÍê³ÉÖ®ºó£¬ÖØÐ¿ªÆôÖжϲ¢ÉèÖÃRxXferCountΪ1{timeout++; //³¬Ê±´¦Àíif(timeout>HAL_MAX_DELAY) break;	}/* USER CODE END USART1_IRQn 1 */
}

测试函数

while (1){uint8_t len=0;static uint16_t times = 0;printf("%d\r\n",times++);HAL_Delay(500);HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_5);HAL_GPIO_TogglePin(GPIOE,GPIO_PIN_5);if(USART_RX_STA&0x8000){					    len=USART_RX_STA&0x3fff;//µÃµ½´Ë´Î½ÓÊÕµ½µÄÊý¾Ý³¤¶Èprintf("\r\nÄú·¢Ë͵ÄÏûϢΪ:\r\n");HAL_UART_Transmit(&huart1,(uint8_t*)USART_RX_BUF,len,1000);	//·¢ËͽÓÊÕµ½µÄÊý¾Ýwhile(__HAL_UART_GET_FLAG(&huart1,UART_FLAG_TC)!=SET);		//µÈ´ý·¢ËͽáÊøprintf("\r\n\r\n");//²åÈë»»ÐÐUSART_RX_STA=0;}else{if(times%20==0)printf("ÇëÊäÈëÊý¾Ý,ÒԻسµ¼ü½áÊø\r\n");  if(times%2==0);//LED0=!LED0;//ÉÁ˸LED,ÌáʾϵͳÕýÔÚÔËÐÐ.} /* USER CODE END WHILE *//* USER CODE BEGIN 3 */}
http://www.yayakq.cn/news/264564/

相关文章:

  • 域名访问网站的知识淘宝网站开发的意义
  • 医院网站建设方案策划书深圳创业补贴2024
  • 工信部网站备案系统怎么注册申请公司邮箱
  • 网站开发的小结dedecms 生成网站地图
  • 寮步网站建设 优帮云wordpress使用自己的模板
  • 哪些行业做网站多重庆工业设计公司有哪些
  • 秦皇岛市网站制作公司南阳微网站制作
  • 做网站违法短链接生成器下载
  • 网站建设工作年报广州有名的广告公司
  • 大连做网站仟亿科技推广竞价的公司有哪些
  • 公司网站设计上海app制作
  • 制作网站的方法有哪些网站模板上传教程
  • 各省备案网站行业app开发公司
  • 网站建设需要提供的资料文档网站建设软硬件平台
  • 招聘网站花钱做的简历有用没国外对旅游网站建设的现状
  • 网站建设微企徐州学习网站建设
  • 微信网站开发平台可以看那种东西的浏览器
  • 保定网站建设服务南昌定制网站开发
  • 免费注册企业网站网站从服务器上下载文件
  • 中英双语网站源码wordpress图片上传接口
  • 做淘宝客网站需要工商营业执照网站建设需要入无形资产吗
  • 建设互联网地方垂直网站seo外包如何
  • 网站建设的开发的主要方法网络舆情分析研判报告
  • 中学加强校园网站内容建设wordpress移动端
  • 西安百通网站建设公司学编程能干什么
  • 移动端网站开发哪家好网站建设小组实训总结
  • 贵州省建设厅公示网站网站建设技术 教材
  • 台州企业网站搭建厂家网站用什么格式做
  • 请简要描述网站维护的方法企业网站建设问卷
  • 北京网站搭建服务旅行社erp管理系统使用