这期内容当中小编将会给大家带来有关如何用库操作串口UART,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
HAL库里面对应每个硬件模块有两个函数 例如:
HAL_UART_Init( ) 功能上的描述:设置收发模式、奇偶校验位、停止位数等等(与芯片无关)。
typedef struct __MY_TypeDef
{
uint8_t Var1;
uint8_t Var2;
uint16_t Var3;
uint8_t* Var4;
}MY_TypeDef;
MY_TypeDef* MY_VAR;
* MY_VAR->Var4 的值是 0x02。
与此类似,对于串口模块,驱动定义了一个结构体类型 UART_HandleTypeDef,我们可以用这个类型定义多个结构体,并通过把串口模块寄存器区的起始地址付给一个结构体,使该结构体和串口之间建立起联系:
我们运行的当前程序操作串口的方式为查询(polling)方式,结构体中和DMA,中断方式相关的内容可以先忽略,只需要关注结构体中下面这些成员即可:
USART_TypeDef *Instance;
UART_InitTypeDef Init;
UART_AdvFeatureInitTypeDef AdvancedInit;
HAL_UART_Transmit(&UartHandle, (uint8_t*)aTxBuffer, TXBUFFERSIZE, 5000);
需要提到的是,在M0芯片内,有一些共享的或系统级的硬件模块不使用 Handle 的方式来处理:
GPIO
SYSTICK
NVIC
PWR
RCC
FLASH.
上述就是小编为大家分享的如何用库操作串口UART了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。