来自STM32库函数教材。请大侠解释问题,在最后!谢谢13
发布网友
发布时间:2023-11-03 11:44
我来回答
共4个回答
热心网友
时间:2024-12-03 04:40
(USART_TypeDef* USARTx, USART_InitTypeDef* USART_InitStruct)
应该是这样的,我没去具体看函数,USART_Init,初始化串口,参数应该包括两个部分,第一个部分是USART_TypeDef* USARTx,这个表示定义一个指向USART_TypeDef结构体的指针,也就是之前这个函数的第一个参数,用于选择串口。后面这个参数也是一个指向USART_InitTypeDef结构的指针,此结构体中应该包含串口初始化要配置的东西,比如波特率,数据位等。明白吗?
热心网友
时间:2024-12-03 04:41
你写义好了 USART_InitTypeDef,需要这个USART_Init接口设定到Uart相应的寄存器中才能生效啊;
热心网友
时间:2024-12-03 04:41
首先你要知道用库函数说白了还是在操作寄存器
接下来void USART_Init(USART_TypeDef* USARTx, USART_InitTypeDef* USART_InitStruct);这句话的意思是 用结构体名字为 USART_InitStruct这玩意的结构体来初始化串口,结构体类型为USART_InitTypeDef 也就是上面定义的那个结构体 结构体内部的内容全是相应的寄存器可选值 例如 USART_Mode 这玩意你把它跟踪下去就会发现它是在usart.h文件中的一个宏定义 所以这个库函数说白了就是说 把寄存器里面的可选值封装成我们好理解的宏定义 然后你方便的用这些宏定义来操作 因为这是个初始化串口的库函数 不需要返回值 所以是void
热心网友
时间:2024-12-03 04:42
您好,我也是刚碰到了和您一样的困惑,所以百度搜到了您的提问。虽然已经过去6年了,但我觉的这个问题还是值得跟STM32单片机新手解释清楚的。如果题主还有疑惑,或者有其他人看到这个问答以后还有疑惑的话,可以先看看我刚刚在答主“某吉娃娃”回答下的3条评论,然后再看各个答主的回答,应该会有比较清晰的认识。