|
用32的串口發(fā)送指令給GY-MCU90615 模塊,然后通過(guò)串口回傳溫度,GY-MCU90615 模塊的主要用法如下,檢查了很多遍,但本應(yīng)該回傳的幀的頭格式數(shù)據(jù)都收不到,下面時(shí)我的主函數(shù),求大神幫我看看,卡了好長(zhǎng)時(shí)間了
- #include "led.h"
- #include "delay.h"
- #include "sys.h"
- #include "usart.h"
- #include "lcd.h"
- u8* rebuff[9];
- void USART1_IRQHandler(void)
- {
- int i;
- if(USART_GetITStatus(USART1,USART_IT_RXNE))//如果收到數(shù)據(jù)
- for(i=0;i<9;i++)
- *rebuff[i]=USART_ReceiveData( USART1);//讀數(shù)據(jù)
- // USART_FLAG_RXNE=0;//清除標(biāo)志位
- }
- void send_commend(unsigned char com)//發(fā)送字節(jié)命令
- {
- if(USART_GetFlagStatus( USART1, USART_FLAG_RXNE)==0)
- {
- USART_SendData(USART1, com);
- }
- }
- int main(void)
- {
- u8 times=0;
- delay_init(); //延時(shí)函數(shù)初始化
- NVIC_Configuration();// 設(shè)置中斷優(yōu)先級(jí)分組
- uart_init(9600); //串口初始化為9600
- LED_Init(); //初始化與LED連接的硬件接口
- LCD_Init();USART_SendData
- POINT_COLOR=RED;
- (USART1, 0xA5);
- USART_SendData(USART1, 0xAE);
- USART_SendData(USART1, 0x53);//配置波特率為9600;
- while(1)
- {
- times++;
- USART_SendData(USART1, 0xA5);
- USART_SendData(USART1, 0x45);
- USART_SendData(USART1, 0xEA);
- LCD_ShowString(30,40,200,24,24,rebuff[0]);
- if(times%30==0)LED0=!LED0;//閃爍LED,提示系統(tǒng)正在運(yùn)行.
- delay_ms(10);
- }
- }
- //USART 3õê¼»ˉéèÖÃ
- USART_InitStructure.USART_BaudRate = bound;//
- USART_InitStructure.USART_WordLength = USART_WordLength_8b;
- USART_InitStructure.USART_StopBits = USART_StopBits_1;//
- USART_InitStructure.USART_Parity = USART_Parity_No;//
- USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;//
- USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; //
- USART_Init(USART1, &USART_InitStructure); //
- USART_ITConfig(USART1, USART_IT_RXNE , ENABLE);//開(kāi)啟中斷
- USART_Cmd(USART1, ENABLE);
復(fù)制代碼
|
|