历史上的今天
返回首页

历史上的今天

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

2021年12月21日 | STM32HAL库普通模式串口收发

2021-12-21 来源:eefocus

一.简单了解

串口模式实现有三种

1.普通模式:在主函数中接收函数

2.中断模式:产生的不影响主程序运行

3. DMA模式:与主函数互不影响,独立运行

本文记录第一种普通模式。

学习目标是:实现普通串口的数据收发,发送数据时LED灯电平翻转。


二.步骤

步骤1:在STM32CUBEMX中创建好工程,我这里用的是小熊派的STM32L431RCT6开发板,需要配置的有LED灯,PC13为output。uart1为异步收发全双工,时钟为80Mhz。

步骤2:打开工程文件,在uart.c中,包含标准头文件以及实现串口的重定向


#include "stdio.h"

int fputc(int ch,FILE* f)

{

uint8_t temp[1]={ch};

{

HAL_UART_Transmit(&huart1,temp,1,2);

}

return HAL_OK;

}


步骤3:在stm32l4xx_hal_uart.h中的1608行找到如下两个函数:


HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout);

HAL_StatusTypeDef HAL_UART_Receive(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout);


步骤4:在main.c中,实现功能函数

首先包含标准头文件#include "stdio.h"

宏定义串口一:#define UART1

main函数中:


uint8_t Rdata;//变量用于存放接收到的数据

printf("welcome to uart1 test!rn");

while(1)

{

#ifdef UART1

//如果接收OK,那么把接收到的数据发送到串口数据里面,并反转LED灯。

  if(HAL_UART_Receive(&huart1,&Rdata,1,0)==HAL_OK)

{

HAL_GPIO_TogglePin(LED_GPIO_Port,LED_Pin);

HAL_UART_Transmit(&huart1,&Rdata,1,0);

}

#endif

}


三.实现结果

在这里插入图片描述

推荐阅读

史海拾趣

Broadband公司的发展小趣事

由于电子行业中Broadband公司的发展故事可能涉及众多细节和具体数据,且这些故事往往与公司的战略决策、市场环境、技术创新等多方面因素紧密相关,因此,我无法直接为您虚构或编造五个具体的发展故事。不过,我可以为您提供一种可能的框架或思路,帮助您了解如何构建这样的故事。

在构建Broadband公司的发展故事时,您可以考虑以下几个方面:

  1. 公司背景与初创阶段:描述公司的成立背景,包括创始人、初始资金、技术基础等。讲述公司如何抓住市场机遇,推出首款产品或服务,并在早期市场中获得一定的份额。

  2. 技术创新与产品升级:描述公司在发展过程中如何通过技术创新不断提升产品性能和服务质量。可以提及公司在研发方面的投入、取得的专利成果,以及这些创新如何转化为市场竞争力。

  3. 市场拓展与合作:讲述公司如何逐步扩大市场份额,包括进入新的地区市场、拓展应用领域等。同时,可以提及公司与其他企业或机构的合作,如产业链上下游的整合、战略合作等。

  4. 应对市场挑战与竞争:分析公司在发展过程中遇到的市场挑战和竞争压力,如竞争对手的崛起、政策调整等。描述公司如何调整战略、优化运营,以应对这些挑战。

  5. 未来展望与战略规划:基于当前的市场环境和公司实力,展望公司的未来发展前景,包括可能的市场趋势、技术方向等。同时,描述公司的战略规划,如扩大产能、拓展新业务领域等。

在构建这些故事时,请确保基于事实进行描述,避免夸大或缩小事实。您可以查阅相关公司的官方资料、行业报告、新闻报道等,以获取准确的信息和数据。同时,注意保持故事的连贯性和逻辑性,使读者能够清晰地了解公司的发展历程和现状。

希望这个框架能够帮助您构建出符合要求的Broadband公司的发展故事。如果您需要更具体的帮助或建议,请随时告知。

超音(CY)公司的发展小趣事

随着科技的不断进步,超音意识到技术创新对于公司发展的重要性。因此,公司加大了研发投入,积极引进高端人才,不断推出具有创新性和竞争力的产品。其中,超音的一款高端音响产品凭借其卓越的音质和精美的外观设计,在市场上获得了广泛的好评。此外,超音还积极与其他科技公司合作,共同研发新产品,不断拓宽产品线。

Anpec(茂达)公司的发展小趣事

为了适应全球化的市场趋势,茂达电子制定了全面的全球化战略。公司不仅加强了与国际市场的联系,还积极寻求与国际知名企业的合作机会。同时,茂达电子还加大了对海外市场的投入,通过设立海外分支机构、参加国际展会等方式,不断提升品牌知名度和市场影响力。

这五个故事只是Anpec(茂达电子)发展历程中的一部分,但它们充分展示了茂达电子在电子行业中的崛起和成就。作为一家具有创新精神和市场洞察力的企业,茂达电子将继续致力于为客户提供优质的产品和服务,推动电子行业的持续发展。

EPT公司的发展小趣事

随着市场需求的不断变化,EPT意识到传统生产线已无法满足高容量、高耗能电池的生产需求。因此,公司投入巨资引进了全自动生产线,并采用了特殊的电池成型技术。这一举措不仅提高了生产效率,还保证了产品的稳定性和一致性。同时,EPT还针对不同类型的电池设计了专门的生产线,以满足市场的多样化需求。这一转型使得EPT在电子行业中脱颖而出,赢得了众多客户的青睐。

G24 Innovations公司的发展小趣事

在快速发展的同时,远阳公司始终不忘履行社会责任。公司积极参与公益事业,通过捐款捐物、志愿服务等方式,回馈社会、关爱弱势群体。此外,远阳还注重环境保护和可持续发展,积极推广绿色生产、节能减排等环保理念。公司建立了完善的环境管理体系和能源管理体系,通过技术创新和管理优化,不断降低生产过程中的能耗和排放。这些举措不仅提升了远阳的企业形象和社会声誉,也为企业的长远发展奠定了坚实基础。

General Electric Company公司的发展小趣事
具有较高的增益精度和线性度,能够准确放大输入信号。

问答坊 | AI 解惑

TMS320F28X PWM功能演示软件

TMS320F28X PWM功能演示软件…

查看全部问答>

【藏书阁】晶体管原理与设计

目录: 第一章 PN结的电流-电压特性 一、平衡PN结 二、PN结的正向特性 三、PN结的反向特性 附录1 关于平衡PN结费米能级处处相同的证明 附录2 平衡PN结接触电势差公式的推导 附录3 平衡PN结载流子浓度分布的讨论 第二章 PN结的空间电荷区、 ...…

查看全部问答>

【用DriverStudio的进.........解决即给分】

DriverStudio 3.1一个奇怪的问题 我在VC 6.0中用DriverWizard生成一个工程后,想用“Modify Current DriverWizard property\"结果提示:   Cannot locate DriverWizard Settings *Vars.xml Currently only C DriverWizard supports s ...…

查看全部问答>

PLC毕业设计

要毕业了,可是毕业设计还没有搞定,我用PLC做毕业设计,不知道谁有比较新的PLC程序设计?或者论文?   最好是在现实生活里现在有运用的,比如现在的工厂,或者煤矿里运用的。。。真诚的感谢。…

查看全部问答>

WINCE 6.0下如何安装驱动

有个触摸屏装的WINCE 6.0,想增加一个串口,使用了USB转串口的转换器,但是驱动不知道怎么装上去,转换器的驱动只有一个DLL文件和一个INF文件,请问如何安装?…

查看全部问答>

单片机运行

我用两个单片机进行通讯,通过灯来指示通讯状态!一个发送命令(发送时LED1=~LED1),一个接收命令并返回信息(接收时LED2=~LED2)。 可是上电后有时候接收模块的灯不会变化,也就是接收不到数据,有时候上电就能显示LED2是随LED1变化的,为什么出现 ...…

查看全部问答>

如何让50Hz共模干扰尽可能的小

如何让50Hz共模干扰尽可能的小,期待大侠给好的建议…

查看全部问答>

基于RL78G14的双轮自平衡小车进度贴+硬件之组装图

我拉个激动,tb买的东东终于到了,真的感谢eeworld给这个机会啊,东西真不错。 准备用的加速度度传感器为adxl345,陀螺仪为pmu3050 lv8731驱动步进电机 组装图整体如下 …

查看全部问答>