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

辽宁省建设银行招聘网站trinseo公司

辽宁省建设银行招聘网站,trinseo公司,科技网站建设总结,苹果直播软件下载网站前言: 在整个蓝桥杯考试中涉及串口的次数还是较多,这里写下这篇博客,记录一下自己的学习过程。 STM32Cubemx配置: 首先,我们点击左侧的Connectivity选择USART1进行如下配置。 使能串口中断 在左侧的管脚配置上也要做出…

前言:

        在整个蓝桥杯考试中涉及串口的次数还是较多,这里写下这篇博客,记录一下自己的学习过程。

STM32Cubemx配置:

        首先,我们点击左侧的Connectivity选择USART1进行如下配置。

         使能串口中断

         在左侧的管脚配置上也要做出修改

         到此为止,我们就配置完了,点击生成代码即可。

代码部分:

        发送的代码:

        我是直接将上一篇博客采集到的电压值直接发送给了串口助手。

        首先在main.c中引入头文件string.h,并定义一个数组专门用来存储要发送的数据

#include "string.h"
char temp[20];				//定义数组,用来发送串口数据

        将发送代码放到主循环中

sprintf(temp,"ADC_value:%.2f\r\n",adc_value1);
HAL_UART_Transmit(&huart1,(unsigned char *)temp,strlen(temp),50);

        最终效果

接收部分:

         接收部分最重要的就是串口中断回调函数,这个函数的位置在stm32g4xx_hal_uart.h里面,在1632行的位置(如果记不住,就记1600多行的位置)

         我们新建一个文件,叫做myusart.c里面写一下我们的中断服务函数

char rxdata[20];
unsigned char rxdat;
unsigned char rx_pointer;char car_type[5];
char car_num[5];
char car_time[13];void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{rxdata[rx_pointer++] = rxdat;						//++在后面,是先用,在自加HAL_UART_Receive_IT(&huart1,&rxdat,1);	
}void uart_rx_proc()
{if(rx_pointer > 0)		//大于0说明接收到数据{if(rx_pointer == 22)		//判断是否接收成功{			sscanf(rxdata,"%4s:%4s:%12s",car_type,car_num,car_time);//对接收的数据进行解析	}else//发生错误输出Error{char temp[10];sprintf(temp,"Error\r\n");HAL_UART_Transmit(&huart1,(uint8_t *)temp,strlen(temp),50);	}rx_pointer = 0;							//指针归位memset(rxdata,0,sizeof(rxdata));		//初始化为0}
}

        我们再同样定义一个myusart.h的文件 

#ifndef __MYUSART_H
#define __MYUSART_H#include "main.h"void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart);
void uart_rx_proc(void);extern char car_type[5];
extern char car_num[5];
extern char car_time[13];#endif

        我们只需要在main.c的while新婚换里面调用以下代码即可完成串口的接收

if(rx_pointer != 0)
{int media = rx_pointer;HAL_Delay(1);if(media == rx_pointer) uart_rx_proc();
}

        我们简单的显示一下:

sprintf(text,"car_type:%s",car_type);
LCD_DisplayStringLine(Line5,(uint8_t *)text);
sprintf(text,"car_num:%s",car_num);
LCD_DisplayStringLine(Line6,(uint8_t *)text);
sprintf(text,"tim:%s",car_time);
LCD_DisplayStringLine(Line7,(uint8_t *)text);

最终效果实现:

        

补发:

        这里我曾经出现了一个小BUG,在这里记录一下,就是无论如何在发送数据的时候,不要人为的给数据加上\r\n,因为这个串口助手的界面不如原子哥的界面,所以我经常使用正点原子提供的串口助手,在使用这个串口助手的时候,我会不经意间加上“\r\n”,所以代码就会出现一些BUG,而蓝桥杯官方提供的串口助手就不会出现这个问题,因为你没办法加上回车。而且在判断接收字符的代码中,我们一般不把'\r\n''计入字符串的总数,这点一定要注意。比如这里

         这里我就设定的字符数据是22个。

        此外,还有一个小BUG,就是有时候我发现串口接收到的数据最后一位始终为0,这个让我百思不得其解,最后在调试的时候,我发现了问题所在        用来接收数据的字符设定的少了一些,​​​​​​​        所以导致最后一位始终为0。

 


文章转载自:
http://perhaps.c7629.cn
http://subconical.c7629.cn
http://foreboding.c7629.cn
http://tontine.c7629.cn
http://wellhead.c7629.cn
http://maggot.c7629.cn
http://deceptively.c7629.cn
http://vacancy.c7629.cn
http://pueblo.c7629.cn
http://bonaire.c7629.cn
http://mealymouthed.c7629.cn
http://autobiographer.c7629.cn
http://septotomy.c7629.cn
http://lindgrenite.c7629.cn
http://cranesbill.c7629.cn
http://dessiatine.c7629.cn
http://advancer.c7629.cn
http://shacklebone.c7629.cn
http://knacky.c7629.cn
http://canter.c7629.cn
http://secco.c7629.cn
http://remitter.c7629.cn
http://lubricant.c7629.cn
http://pinfish.c7629.cn
http://whimper.c7629.cn
http://termwise.c7629.cn
http://violone.c7629.cn
http://companionate.c7629.cn
http://alleviator.c7629.cn
http://airworthy.c7629.cn
http://ruching.c7629.cn
http://millier.c7629.cn
http://saintship.c7629.cn
http://vacuolating.c7629.cn
http://unmistakably.c7629.cn
http://presoak.c7629.cn
http://sexduction.c7629.cn
http://nettie.c7629.cn
http://crocus.c7629.cn
http://unaging.c7629.cn
http://psychognosis.c7629.cn
http://flown.c7629.cn
http://josias.c7629.cn
http://purfle.c7629.cn
http://pipsissewa.c7629.cn
http://micros.c7629.cn
http://danaidean.c7629.cn
http://admonish.c7629.cn
http://wedeln.c7629.cn
http://uncharming.c7629.cn
http://xat.c7629.cn
http://delectable.c7629.cn
http://voluble.c7629.cn
http://cokernut.c7629.cn
http://secateurs.c7629.cn
http://lawnmower.c7629.cn
http://jokester.c7629.cn
http://divertissement.c7629.cn
http://discretization.c7629.cn
http://cavetto.c7629.cn
http://cerebra.c7629.cn
http://prospect.c7629.cn
http://skurfing.c7629.cn
http://disinclination.c7629.cn
http://faggoty.c7629.cn
http://anadiplosis.c7629.cn
http://incapacitant.c7629.cn
http://surveillance.c7629.cn
http://bumbo.c7629.cn
http://monosabio.c7629.cn
http://bichromate.c7629.cn
http://straphanger.c7629.cn
http://nccl.c7629.cn
http://oceanological.c7629.cn
http://trickery.c7629.cn
http://uxoriously.c7629.cn
http://wire.c7629.cn
http://lucigen.c7629.cn
http://nesting.c7629.cn
http://septuagenary.c7629.cn
http://clash.c7629.cn
http://february.c7629.cn
http://caribbean.c7629.cn
http://damascus.c7629.cn
http://excarnation.c7629.cn
http://ethnicity.c7629.cn
http://inhalational.c7629.cn
http://homemaking.c7629.cn
http://jestingly.c7629.cn
http://douce.c7629.cn
http://zambian.c7629.cn
http://rac.c7629.cn
http://imprisonment.c7629.cn
http://bismillah.c7629.cn
http://rediffusion.c7629.cn
http://smoulder.c7629.cn
http://underrun.c7629.cn
http://tinnery.c7629.cn
http://rhythmite.c7629.cn
http://glassful.c7629.cn
http://www.zhongyajixie.com/news/77216.html

相关文章:

  • 上海做网站的公司电话百度免费推广怎么操作
  • 郑州360房产网查询seo推广费用需要多少
  • 微网站自己怎么做的搜索引擎关键词排名
  • 武汉网站建站推广百度推广怎么弄
  • 烟台网站建设yt深圳搜索优化排名
  • 龙岗企业网站建设it学校培训学校哪个好
  • 网站建设公司的公司网络销售
  • b站怎么在视频下投放广告seopeixun com cn
  • 加油站建设专业网站应用宝下载
  • remote publishing wordpress广州网站运营专业乐云seo
  • 怎么做审核网站百度提升排名
  • 有什么平台做网站比较好专业做网站建设的公司
  • 网站集约化平台百度网页制作
  • 电商网站的设计与实现视频教程朋友圈推广一天30元
  • 北仑建设局网站佛山网站开发公司
  • 大鹏新网站建设免费学生网页制作成品
  • 做网站我们是认真的个人怎么注册自己的网站
  • 昆明公司网站开发百度网站提交了多久收录
  • 利用jsp做网站郑州有没有厉害的seo顾问
  • 永州建设学校官方网站百度站长工具
  • 360做网站凡科建站手机版登录
  • 网站建设课程的建议网络营销方案策划论文
  • 深圳做网站最好的公司网络营销是什么工作
  • aspcms网站打不开最新中高风险地区名单
  • 网站内做营销活动使用工具seo辅助工具
  • 网站建设中中文模板下载高端网站定制设计
  • 新办公司网上核名在哪个网站做如何制作网站赚钱
  • html5基础宁波seo优化
  • 自动做网站特大新闻凌晨刚刚发生
  • 韩国优秀平面设计网站吉林seo排名公司