野火串口發(fā)送程序,多個串口實驗源碼
printf(interrupt)
printf(polling)查詢法
USART1中斷接發(fā)
USART1接發(fā)
USART2接發(fā)
USART3接發(fā)
USART4接發(fā)
USART5接發(fā)
stm32單片機源程序如下:
- /**
- ******************************************************************************
- * @file main.c
- * @author fire
- * @version V1.0
- * @date 2013-xx-xx
- * @brief 串口中斷接收測試
- */
-
-
- #include "stm32f10x.h"
- #include "bsp_usart1.h"
- #include "uart_api.h"
- /**
- * @brief 主函數
- * @param 無
- * @retval 無
- */
- int main(void)
- {
- uint8_t ucaRxBuf[1024];
- uint16_t usRxCount;
- uint8_t ucTemp;
-
- /* USART1 配置模式為 115200 8-N-1,中斷接收 */
- comInit();
- printf("\r\n 這是一個串口中斷接收回顯實驗 \r\n");
- printf("\r\n 請在超級終端或者串口調試助手輸入字符 \r\n");
- /* 簡單的通信協議,遇到回車換行符認為1個命令幀 */
- usRxCount = 0;
- for(;;)
- {
- /*
- 接收COM1口的數據,分析并處理
- 可以將此段代碼封裝為一個函數,在主程序其它流程調用
- */
- if (comGetChar(COM1, &ucTemp))
- {
- if (usRxCount < sizeof(ucaRxBuf))
- {
- ucaRxBuf[usRxCount++] = ucTemp;
- }
- else
- {
- usRxCount = 0;
- }
-
- /* 遇到換行字符,認為接收到一個命令 */
- if (ucTemp == 0x0A) /* 換行字符 */
- {
- /* 在接收到的字符串加1個前綴,以示區(qū)別 */
- comSendBuf(COM1, (uint8_t *)"COM1 ", 5);
- comSendBuf(COM1, ucaRxBuf, usRxCount);
- usRxCount = 0;
- }
- }
- }
- }
- /*********************************************END OF FILE**********************/
復制代碼
所有資料51hei提供下載:
5-USART—串口通信.rar
(2.35 MB, 下載次數: 129)
2018-6-5 17:58 上傳
點擊文件名下載附件
串口發(fā)送程序
|