历史上的今天
返回首页

历史上的今天

今天是:2024年10月12日(星期六)

正在发生

2021年10月12日 | STM32之串口的使用

2021-10-12 来源:eefocus

串口的使用



在KEIL里继续软件仿真

仿真和下载时要注意的是,仿真要选USE Simulation  而下载要选右边的JTAG。。。。

然后点击debug 进入调试界面

 

view--->serial windos -->UART 1

全速运行 其结果如下:

串口发送数据就到此为止。


串口接收数据

这儿写的跟上面的已经没有关系了,不要搞混。

关于从PC机发送数据到STM32,这一部分则需要中断来实现,因为我们不需要时时刻刻都来检测外部是否发出数据给STM32,因此只要有数据来,就触发中断。这里就需要配置NVIC了

void NVIC_Config(void)

{

NVIC_InitTypeDef NVIC_InitStructure;

 

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);      //优先组为2

NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;  //打开USART中断通道

NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 3; //抢占优先级

NVIC_InitStructure.NVIC_IRQChannelSubPriority = 2;          //子优先级

NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;     //中断通道使能

NVIC_Init(&NVIC_InitStructure);

 

USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);    //串口接收中断使能

 

USART_Cmd(USART1, ENABLE);

}

 

其他配置比如串口复用到IO配置,串口时钟配置,和发送数据是一样的。


串口中断处理函数:


void USART1_IRQHandler(void)

{  int RX_status;  //自己定义一个标志位

RX_status = USART_GetFlagStatus(USART1, USART_FLAG_RXNE);//读取接收数据标志位,如果装好了一帧数据则硬件将其置一。

if(RX_status == SET) {

USART_SendData(USART1 , USART_ReceiveData(USART1));//将收到的数据再由STM32发送给PC机。

while(USART_GetFlagStatus(USART1, USART_FLAG_TC)==RESET);//等待发送完成。

 

}

}


串口的发送接收大致如此,还是要搞懂什么数据位,硬件流,停止位,校验位什么,一个东西既然出现了就要好好分析出现的意义。想到了今天给电脑拆机清灰,电脑最好两年清一次。反正每次上螺丝都会多出那么一两个来,是不是可以不用要?


肯定不是,生产商肯定也知道节约成本什么,他们的结构工程师也知道PCB上开一个螺丝孔也是要收钱的。所以每一颗螺丝都有它的意义,所以什么校验位,停止位也有他的意义,即便我们不使用。其实剩的螺丝我也扔了,完全不知道上在哪儿!


差不多就到这里了,有问题或者需要STM32的学习资料,关注我的新浪微博@忙碌的小姚,私信我即可,


学习知识一定要主动,这是多么痛的领悟啊!!!


推荐阅读

史海拾趣

CONEC公司的发展小趣事

作为一家有远见的企业,CONEC不仅关注自身的经济效益,还积极履行社会责任。公司致力于推动电子行业的可持续发展,通过采用环保材料、优化生产工艺等方式降低生产过程中的环境影响。同时,CONEC还积极参与社会公益事业,支持教育、环保等领域的发展。这些举措不仅提升了公司的社会形象,也为公司的长期发展奠定了坚实的基础。

请注意,以上故事仅为基于公开信息的推测和构建,可能并不完全准确反映CONEC公司的实际发展历程。如果您需要更详细和准确的信息,建议查阅CONEC公司的官方资料或相关新闻报道。

G-Link Technology公司的发展小趣事

蜂鸟无线自2005年成立以来,始终将技术创新视为企业发展的核心驱动力。公司早期便组建了一支由行业顶尖专家组成的研发团队,专注于无线通信技术的突破。在2010年前后,蜂鸟无线成功研发出高效能无线路由器,该产品凭借其卓越的信号稳定性和传输速率,迅速在市场中脱颖而出,为公司赢得了首批忠实用户。此后,蜂鸟无线持续加大研发投入,不断推出新产品,如集成了先进加密技术的无线网卡和蓝牙设备,进一步巩固了其在无线通信市场的领先地位。

Brilliance公司的发展小趣事

Brilliance公司起源于科技创新的热潮之中,由一群充满激情的电子工程师和创业者共同创立。公司成立之初,便致力于研发具有创新性和实用性的电子产品。通过不断的技术攻关和市场调研,Brilliance成功推出了一系列受到消费者欢迎的产品,逐步在电子行业中崭露头角。

Hengstler GmbH公司的发展小趣事

Brilliance公司起源于科技创新的热潮之中,由一群充满激情的电子工程师和创业者共同创立。公司成立之初,便致力于研发具有创新性和实用性的电子产品。通过不断的技术攻关和市场调研,Brilliance成功推出了一系列受到消费者欢迎的产品,逐步在电子行业中崭露头角。

亿宝科技(CNIBAO)公司的发展小趣事

在技术创新的基础上,亿宝科技积极拓展市场。公司通过与国内外知名企业的合作,将产品打入国际市场。同时,亿宝科技还注重品牌建设,通过参加各类展会、举办技术研讨会等方式,提升品牌知名度和影响力。在一次国际电子展上,亿宝科技的产品凭借其卓越的性能和品质,赢得了众多客户的青睐,成功打开了国际市场的大门。

Amperite Co公司的发展小趣事

随着环保意识的不断提高,亿宝科技积极响应国家绿色发展的号召。公司引进先进的环保设备和技术,减少生产过程中的污染物排放。同时,亿宝科技还注重产品的环保性能设计,推出了一系列绿色电子产品。这些产品不仅符合国家的环保标准,还赢得了消费者的青睐和认可。在绿色发展的道路上,亿宝科技展现了企业的责任和担当。

问答坊 | AI 解惑

基于软件无线电思想的数字通信终端接口电路设计与实现

1前言     软件无线电(Software Radio)是随着计算机技术和高速数字信号处理技术的发展迅速而发展起来的。其基本思想是将宽带A/D及D/A变换器尽可能地靠近天线,将电台的各种功能用一个开放性、模块化平台上的软件实现。软件无线电的 ...…

查看全部问答>

求西门子plc的工业网络实验室的发展史

急求西门子plc的工业网络实验室的发展史。plc  的S7 300或者400的组成结构应用…

查看全部问答>

分析几种基本信号运算电路

分析几种基本信号运算电路…

查看全部问答>

WinCE6.0 BIOS Boot Loader开机方式

请问各位大侠 这个要怎么设置啊?可以让CE直接启动,DOS启动过程麻烦,而且看着让人恶心。 Setupdisk.144和Bootdisk.144这两个文件怎么提取啊? 谢谢各位了!…

查看全部问答>

C#如何设置Windows Mobile的显示超时时间(不允许进入节电模式)

在Windows Mobile下的调用GPRS和服务端进行通信,在接收数据的过程中手机会进入节电模式,此时GPRS网络和程序就不运行了,有没有什么办法就是设置一下显示超时时间,在程序运行的时候不允许进入节电模式。…

查看全部问答>

谁知道哪个公司的嵌入式开发板不错的,麻烦告诉下

我用的是VS2005+WINCE6.0,现在想买块开发板,不知道选哪个好,请前辈指点下…

查看全部问答>

嵌入式系统开发学习步骤

近来嵌入式挺火,于是大家都往这里挤。我想提醒大家的是,嵌入式马上也会成为如今的软件业。在你进来之前请先考虑清楚。但只要我们真的学精了一样东西,不管它将来变成什么样,哪怕最后只剩下一个人,那个人也一定就是你自己。 很多人以为搞嵌入 ...…

查看全部问答>

紧急求助pb3

RCC_APB2PeriphClockCm(RCC_APB2Periph_AFIO|APB2Periph_GPIOB,ENABLE);  GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,DISABLE);  GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable,DISABLE);  stm32_Init&nbs ...…

查看全部问答>

STM8普及,无需ST-Link,新买的器件可以无限次数串口下载程序

STM8的单片机,只要内部是空的,就算Bootloader disable,也会上电运行Bootloader,可以从串口下载程序。新的器件虽然Bootloader disable,但是也可以用串口下载至少一次程序。 如果是一般的程序下载后,Bootloader是disable,那么不借助ST- ...…

查看全部问答>

2010福建省电子设计大赛一等奖的作品

本帖最后由 paulhyde 于 2014-9-15 09:34 编辑 只传个报告哈~~~~~~~ 是自动射门小车的~~~~~~      …

查看全部问答>