


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
STM32接收特定字符串,滤除回车符,直接得到所需字符串分配USART2用于实现此功能考虑很久,接收不打算用while(1)查询的方式实现了,浪费时钟周期,直接中断实现USART配置/*串口函数*/void USART_Configuration(void)GPIO_InitTypeDef GPIO_InitStructure;USART_InitTypeDef USART_InitStructure;NVIC_InitTypeDef NVIC_InitStructure; /第1步:打开GPIO和USART部件的时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO, ENABLE);/打开GPIOA时钟 允许复用RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);/打开USART1时钟RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);/打开USART2时钟/ 第2步:将USART Tx的GPIO配置为推挽复用模式 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2 | GPIO_Pin_9; /Pin_2 - USART2_TX Pin_9 - USART1_TX GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure);/ 第3步:将USART Rx的GPIO配置为浮空输入模式/由于CPU复位后,GPIO缺省都是浮空输入模式,因此下面这个步骤不是必须的/但是,我还是建议加上便于阅读,并且防止其它地方修改了这个口线的设置参数GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_10;/Pin_3 - USART2_RX Pin_10 - USART1_RX GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure); / 第4步:配置USART 数据格式、波特率等参数/ - BaudRate = 115200 baud/ - Word Length = 8 Bits/ - One Stop Bit/ - No parity/ - Hardware flow control disabled (RTS and CTS signals)/ - Receive and transmit enabledUSART_InitStructure.USART_BaudRate = 115200;/USARTDIV=72000000/(115200*16)=39.0625对应误差率为0(查看参考手册)USART_InitStructure.USART_WordLength = USART_WordLength_8b;USART_InitStructure.USART_StopBits = USART_StopBits_1;USART_InitStructure.USART_Parity = USART_Parity_No;USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;USART_Init(USART1, &USART_InitStructure);USART_Init(USART2, &USART_InitStructure);/ 第5步:使能 USART, 配置完毕 USART_Cmd(USART1, ENABLE);USART_Cmd(USART2, ENABLE);/CPU的小缺陷:串口配置好,如果直接Send,则第1个字节发送不出去/如下语句解决第1个字节无法正确发送出去的问题 USART_ClearFlag(USART1, USART_FLAG_TC); /清发送外城标志,Transmission Complete flag USART_ClearFlag(USART2, USART_FLAG_TC);/USART2要与wifi通信,因此需要接收命令,这里使用串口中断接收命令NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0); NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1); /配置优先级组1 NVIC_InitStructure.NVIC_IRQChannel = USART2_IRQChannel;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; /先占优先级2级NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;NVIC_Init(&NVIC_InitStructure);/使能收发中断USART_ITConfig(USART2, USART_IT_RXNE, ENABLE); 我们日常所说的回车(ENTER)其实分为两步:回车:ASCII-0x0d 换行:ASCII-0x0a,接收的话必须要都滤除0x0d,0x0a,才能正常判断接收到的字符串,于是,索性接收到这两个字符串都不要,扔了就行void USART2_IRQHandler(void)uint8_t tmp;if(USART_GetITStatus(USART2, USART_IT_RXNE) != RESET) /判断发生接收中断tmp = USART_ReceiveData(USART2);if(tmp=0x0d)|(tmp=0x0a)Rx_Lenght=0; Rx_flg=1; USART_ClearITPendingBit(USART2, USART_IT_RXNE); /清除中断标志elseRx_BufferRx_Lenght = tmp; Rx_Lenght+; void USART2_TX(char * str)/发送就用这种方式了,发送给模块的指令并不长,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025安徽宿州学院专职辅导员招聘12人考前自测高频考点模拟试题附答案详解(考试直接用)
- 2025河南郑州惠济区迎宾路社区卫生服务中心招聘2人模拟试卷及答案详解(全优)
- 2025年甘肃酒泉市玉门市引进急需紧缺人才(第一批)模拟试卷含答案详解
- 2025北京石油学院附属实验小学招聘模拟试卷及答案详解(必刷)
- 2025年阜阳民生医院招聘20人考前自测高频考点模拟试题及完整答案详解一套
- 2025广东广州市黄埔区人民政府长岭街道办事处面向全区遴选党建指导员1人考前自测高频考点模拟试题带答案详解
- 2025辽宁能源控股集团所属辽能股份招聘考前自测高频考点模拟试题及答案详解(网校专用)
- 2025内蒙古自治区第六批高层次人才需求目录(2025年4月17日发布)模拟试卷有完整答案详解
- 2025湖南怀化市溆浦县卫健局招聘乡镇卫生院编外专技人员20人模拟试卷及答案详解参考
- 2025湖南邵阳市新宁县公开招聘教师30人考前自测高频考点模拟试题及答案详解(典优)
- 2025贵州盐业(集团)遵义有限责任公司招聘15人笔试备考试题及答案解析
- EMS供应商对比方案报告
- 神奇的加密术教学设计-2025-2026学年初中数学北师大版2024八年级上册-北师大版2024
- 价格波动对利润影响分析-洞察及研究
- 广西检测协会试题(钢结构检测综合)判断题(1-375)
- 医院感染判定标准与流程
- 我的祖国音乐教学课件
- (高清版)DB11∕T 2440-2025 学校食堂病媒生物防制规范
- 青少年亚文化现象解析-洞察阐释
- 移动支付网络安全学习心得体会
- 茶评员职业技能竞赛考试题库-下(多选、判断题部分)
评论
0/150
提交评论