主要就是串口發送和外部中斷使用啦,相關指令可以對應修改
單片機源程序如下:
- #include "led.h"
- #include "delay.h"
- #include "sys.h"
- #include "usart.h"
- #include "stdio.h"
- void UART_PutChar(USART_TypeDef* USARTx, uint8_t Data);
- void UART_PutStr (USART_TypeDef* USARTx, uint8_t *str);
- int main(void)
- {
- u8 t;
- u8 kaiji_flag=1;
- u8 len;
- u16 times=0;
- s16 a=0;
- delay_init(); //延時函數初始化
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 設置中斷優先級分組2
- uart_init(9600); //串口初始化為9600
- uart2_init(115200);
- uart3_init(9600);
- // LED_Init(); //初始化與LED連接的硬件接口
-
- while(1)
- { //a++;
- // if(a==4)
- // UART_PutStr(USART1,"@@PlayFlashText#001$");//開機提示語音:歡迎使用智能化機場導航助理
- // UART_PutStr(USART3,"3");//開機提示語音:歡迎使用智能化機場導航助理
- // UART_PutStr(USART1,"1");//開機提示語音:歡迎使用智能化機場導航助理
- // UART_PutStr(USART2,"2");//開機提示語音:歡迎使用智能化機場導航助理
- // USART_SendData(USART1,1);
- // switch(qidian_flag)
- //{
- // case 1:if(DIDIAN==1&&zhongdian_flag==1) //位于1號入口處
- // {
- // DIDIAN=0;
- //
- // USART_SendData(USART1,0x01); //藍牙發送至APP,顯示位于1號入口
- // delay_ms(3000);
- //
- // }
- //
- // break;
- // case 2: if(DIDIAN==1&&zhongdian_flag==1) //位于問訊處
- // {
- // DIDIAN=0;
- //
- // USART_SendData(USART2,0x03); //藍牙發送至APP,顯示位于1號入口
- // delay_ms(3000);
- //
- // }
- // break;
- // case 3:if(DIDIAN==1&&zhongdian_flag==1)
- // {
- // DIDIAN=0;
- //
- // USART_SendData(USART2,0x10);
- // delay_ms(3000);
- //
- // }
- // break;
- //
- //
- // case 4:if(DIDIAN==1&&zhongdian_flag==1)
- // {
- // DIDIAN=0;
- //
- // USART_SendData(USART2,0x10);
- // delay_ms(3000);
- //
- // }
- // break;
- // case 5:if(DIDIAN==1&&zhongdian_flag==1)
- // {
- // DIDIAN=0;
- //
- // USART_SendData(USART2,0x10);
- // delay_ms(3000);
- //
- // }
- // break;
- //
- // case 6:if(DIDIAN==1&&zhongdian_flag==1)
- // {
- // DIDIAN=0;
- //
- // USART_SendData(USART2,0x10);
- // delay_ms(3000);
- //
- // }
- // break;
- //
- // case 7:if(DIDIAN==1&&zhongdian_flag==1)
- // {
- // DIDIAN=0;
- //
- // USART_SendData(USART2,0x10);
- // delay_ms(3000);
- // // USART_SendData(USART2,0);
- // }
- // break;
- //}
-
-
-
-
-
-
- if(times%30==0)
- {
- // LED0=!LED0;//閃爍LED,提示系統正在運行.
- USART_SendData(USART1,1);
- delay_ms(3);
- //USART_SendData(USART1,2);
- }
- delay_ms(30);
- // }
- }
- }
- void UART_PutChar(USART_TypeDef* USARTx, uint8_t Data)
- { USART_ClearFlag(USARTx, USART_FLAG_TC);
- USART_SendData(USARTx, Data);
- delay_ms(3);
- while(USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET){}
- }
-
-
- void UART_PutStr (USART_TypeDef* USARTx, uint8_t *str)
- {
- while (0 != *str)
- {
- UART_PutChar(USARTx, *str);
- str++;
- }
- }
- extern void UART_PutChar(USART_TypeDef* USARTx, uint8_t Data);
- extern void UART_PutStr (USART_TypeDef* USARTx, uint8_t *str);
復制代碼
所有資料51hei提供下載:
智能化機場導航助理源碼調試.7z
(186.41 KB, 下載次數: 29)
2019-3-5 04:03 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|