具體看程序
單片機源程序如下:
- #include "sys.h"
- #include "delay.h"
- #include "usart.h"
- #include "led.h"
- #include "usart3.h"
-
-
- int main(void)
- {
- delay_init(); //延時函數初始化
- LED_Init(); //初始化與LED連接的硬件接口
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//usart3接收中斷優先級2 次優先級2
- usart3_init(9600);//藍牙的串口初始化 注意手機與單片機的藍牙連接波特率是要9600
- uart_init(9600);
- while(1)
- {
- // printf("ssss \r\n\r\n");//一個個打印
- ////
- //USART1->DR=1;delay_us(100);
- //while((USART1->SR&0X40)==0);//等待發送結束
- ////
- //
- //USART3->DR=3;delay_us(100);
- //while((USART3->SR&0X40)==0);//等待發送結束
- if(USART3_RX_STA&0x8000)
- {
- //// USART1->DR=USART3_RX_BUF[0];//delay_us(100);
- //// while((USART1->SR&0X40)==0);
- // printf("\r\n 1的消息為 %d \r\n\r\n",USART3_RX_BUF[0]);//一個個打印
- // printf("\r\n 2的消息為 %d \r\n\r\n",USART3_RX_BUF[1]);
- //// USART1->DR=66;//delay_us(100);
- //// while((USART1->SR&0X40)==0);//等待發送結束//單個字符
- if(USART3_RX_BUF[0]=='1'&&USART3_RX_BUF[1]=='2'&&USART3_RX_BUF[2]=='3')
- {
-
- USART3->DR=3;delay_ms(10);
- while((USART3->SR&0X40)==0);//等待發送結束
- }
- else if(USART3_RX_BUF[0]=='3'&&USART3_RX_BUF[1]=='2'&&USART3_RX_BUF[2]=='1')
- {
-
- USART3->DR=4;delay_ms(10);
- while((USART3->SR&0X40)==0);//等待發送結束
- }
- USART3_RX_STA=0;
- }
- }
- }
- /**
- *****************下面注視的代碼是通過調用庫函數來實現IO控制的方法*****************************************
- int main(void)
- {
-
- delay_init(); //初始化延時函數
- LED_Init(); //初始化LED端口
- while(1)
- {
- GPIO_ResetBits(GPIOB,GPIO_Pin_5); //LED0對應引腳GPIOB.5拉低,亮 等同LED0=0;
- GPIO_SetBits(GPIOE,GPIO_Pin_5); //LED1對應引腳GPIOE.5拉高,滅 等同LED1=1;
- delay_ms(300); //延時300ms
- GPIO_SetBits(GPIOB,GPIO_Pin_5); //LED0對應引腳GPIOB.5拉高,滅 等同LED0=1;
- GPIO_ResetBits(GPIOE,GPIO_Pin_5); //LED1對應引腳GPIOE.5拉低,亮 等同LED1=0;
- delay_ms(300); //延時300ms
- }
- }
-
- ****************************************************************************************************
- ***/
-
-
- /**
- *******************下面注釋掉的代碼是通過 直接操作寄存器 方式實現IO口控制**************************************
- int main(void)
- {
-
- delay_init(); //初始化延時函數
- LED_Init(); //初始化LED端口
- while(1)
- {
- GPIOB->BRR=GPIO_Pin_5;//LED0亮
- GPIOE->BSRR=GPIO_Pin_5;//LED1滅
- delay_ms(300);
- GPIOB->BSRR=GPIO_Pin_5;//LED0滅
- GPIOE->BRR=GPIO_Pin_5;//LED1亮
- delay_ms(300);
- }
- }
- **************************************************************************************************
- **/
復制代碼
所有資料51hei提供下載:
串口1.3.7z
(182.33 KB, 下載次數: 43)
2019-3-24 01:26 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|