標(biāo)題: 求大神指導(dǎo)該如何學(xué)習(xí)?想通過學(xué)習(xí)編程完成這個(gè)STM32程序 [打印本頁]

作者: zz123456    時(shí)間: 2021-1-7 16:41
標(biāo)題: 求大神指導(dǎo)該如何學(xué)習(xí)?想通過學(xué)習(xí)編程完成這個(gè)STM32程序
由于本論壇禁止直接求程序,禁止伸手黨,所以向大家請(qǐng)教一下大致的實(shí)現(xiàn)方法與思路,理清頭緒后我自己來寫程序去實(shí)現(xiàn)

( •̩̩̩̩_•̩̩̩̩ ) 16:16:07
1,使用串口USART1,編寫STM32與PC機(jī)的串口通信控制程序(只編寫STM32端的程序)。
要求:
(1)首先接收PC機(jī)發(fā)送的字符串(字符串以‘#’開始,以‘*’結(jié)束,長度不超過20),接收完畢后再將該字符串原樣發(fā)送回去。
(2)必須以中斷方式實(shí)現(xiàn)串口的接收,發(fā)送過程的實(shí)現(xiàn)方式不做要求。
已知:
(1)初始化函數(shù)為USART_init(u16 Baud)已經(jīng)編寫完畢,可以直接調(diào)用,其中參數(shù)Baud為波特率。
        (2)涉及的庫函數(shù)如下:
void USART_SendData(USART_TypeDef* USARTx, uint16_t Data);
uint16_t USART_ReceiveData(USART_TypeDef* USARTx);
ITStatus USART_GetITStatus(USART_TypeDef* USARTx, uint16_t USART_FLAG);
void USART_ClearITPendingBit(USART_TypeDef* USARTx, uint16_t USART_FLAG);
void USARTx_IRQHandler(void);
其中,參數(shù)USARTx的可選值包括:USART1,USART2,USART3等。
                 參數(shù)USART_FLAG的可選值包括:USART_IT_TC,USART_IT_RXNE等。

( •̩̩̩̩_•̩̩̩̩ ) 16:16:26

2,設(shè)串口USART1的初始化過程皆已完成,要求編寫與PC機(jī)通信的中斷控制程序,實(shí)現(xiàn)功能如下:首先接收PC機(jī)發(fā)送的字符串(字符串以‘#’開始,以‘*’結(jié)束),接收完畢后再將該字符串發(fā)送回去。
涉及的庫函數(shù)如下:
void USART_SendData(USART_TypeDef* USARTx, uint16_t Data);
uint16_t USART_ReceiveData(USART_TypeDef* USARTx);
ITStatus USART_GetITStatus(USART_TypeDef* USARTx, uint16_t USART_FLAG);
void USART_ClearITPendingBit(USART_TypeDef* USARTx, uint16_t USART_FLAG);
void USARTx_IRQHandler(void);
其中,參數(shù)USARTx的可選值包括:USART1,USART2,USART3等。
         參數(shù)USART_FLAG的可選值包括:USART_IT_TC,USART_IT_RXNE等。






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1