stm32开发板测温后将温度通过NRF24L01传输到串口调试助手上,但是调试助手不显示温度,问题出现在哪里?
接收端是USB转nRF24L01+模块驱动
int main(void)
{
u8 t=0;
u8 tmp_buf[33];
short temperature;
u16 Tempsend;
delay_init();
uart_init(9600);
LED_Init();
LCD_Init();
NRF24L01_Init();
POINT_COLOR=RED;
LCD_ShowString(60,50,200,16,16,"Welcome to Use");
LCD_ShowString(60,70,200,16,16,"Wireless Temperature");
LCD_ShowString(60,90,200,16,16,"2022/3/16");
while(DS18B20_Init())
{
LCD_ShowString(60,110,200,16,16,"DS18B20 Error");
delay_ms(200);
LCD_Fill(60,110,239,130+16,WHITE);
delay_ms(200);
}
LCD_ShowString(60,110,200,16,16,"DS18B20 OK");
while(NRF24L01_Check())
{
LCD_ShowString(60,130,200,16,16,"NRF24L01 Error");
delay_ms(200);
LCD_Fill(60,130,239,130+16,WHITE);
delay_ms(200);
}
LCD_ShowString(60,130,200,16,16,"NRF24L01 OK");
POINT_COLOR=BLUE;
LCD_ShowString(60,150,200,16,16,"Temp: . C");
NRF24L01_TX_Mode();
while(1)
{
if(t%10==0)
{
temperature=DS18B20_Get_Temp();
if(temperature<0)
{
LCD_ShowChar(60+40,150,'-',16,0);
temperature=-temperature;
}else LCD_ShowChar(60+40,150,' ',16,0);
LCD_ShowNum(60+40+8,150,temperature/10,2,16);
LCD_ShowNum(60+40+32,150,temperature%10,1,16);
}
delay_ms(10);
t++;
if(t==20)
{
t=0;
LED0=!LED0;
}
temperature=temperature*10;
Tempsend=(u16)temperature;
tmp_buf[0]= Tempsend/256%256;
tmp_buf[1]= Tempsend%256;
NRF24L01_TxPacket(tmp_buf);
}
}
|