標(biāo)題:
51單片機(jī)串口打印用printf不出來,請(qǐng)幫忙看看哪里出問題了?
[打印本頁]
作者:
喵咪zzz
時(shí)間:
2022-4-30 10:17
標(biāo)題:
51單片機(jī)串口打印用printf不出來,請(qǐng)幫忙看看哪里出問題了?
12M晶振,設(shè)置波特率2400,波特率加倍(就算不加倍也不出來),到底哪里錯(cuò)了,我直接用printf不出來?
串口一點(diǎn)反應(yīng)都沒有。單片機(jī)有問題嗎???
**********************************************************************
*/
#include <reg52.h>
#include <intrins.h>
#include <stdio.h>
sbit Temp_data = P3^6;
void DHT11_start();
unsigned char DHT11_rec_byte();
void DHT11_receive();
void DHT11_delay_us(unsigned char n);
void DHT11_delay_ms(unsigned int z);
void InitUART(void);
unsigned int rec_dat[4];
void main()
{
InitUART();
P1 = 0Xf0;
EA = 1;
while(1)
{
DHT11_delay_ms(150);
DHT11_receive();
printf("Humi:%d.%d\n",rec_dat[0],rec_dat[1]);
printf("Temp:%d.%d C\n",rec_dat[2],rec_dat[3]);
}
}
void DHT11_start()
{
Temp_data =1;
DHT11_delay_us(2);
Temp_data =0;
DHT11_delay_ms(20);
Temp_data =1;
DHT11_delay_us(13);
}
unsigned char DHT11_rec_byte()
{
unsigned char i,dat;
for(i=0;i<8;i++)
{
while(!Temp_data);
DHT11_delay_us(8);
dat<<=1;
if(Temp_data ==1)
{
dat+=1;
}
while(Temp_data);
}
return dat;
}
void DHT11_receive()
{
unsigned int R_H,R_L,T_H,T_L;
unsigned char RH,RL,TH,TL,revise;
DHT11_start();
Temp_data =1;
if(Temp_data == 0)
{
while(Temp_data == 0);
DHT11_delay_us(40);
R_H=DHT11_rec_byte();
R_L=DHT11_rec_byte();
T_H=DHT11_rec_byte();
T_L=DHT11_rec_byte();
revise=DHT11_rec_byte();
DHT11_delay_us(25);
if((R_H+R_L+T_H+T_L)==revise)
{
RH=R_H;
RL=R_L;
TH=T_H;
TL=T_L;
}
rec_dat[0]=RH;
rec_dat[1]=RL;
rec_dat[2]=TH;
rec_dat[3]=TL;
}
}
void DHT11_delay_us(unsigned char n)
{
while(--n);
}
void DHT11_delay_ms(unsigned int z)
{
unsigned int i,j;
for(i=z;i>0;i--)
for(j=110;j>0;j--);
}
void InitUART(void)
{
SCON=0x50;
REN =1;
TMOD = 0x20;
TH1 = 0xE6; // ??????V1.3???2400???????
TL1 = TH1; // ???????????
PCON = 0x80; // ????????
T1 =1;
TR1 =1;
}
作者:
zhxiufan
時(shí)間:
2022-4-30 12:17
使用printf這個(gè)函數(shù)之前TI必須為0 ,所以你初始化時(shí)將TI清零就應(yīng)該可以了。
作者:
hy47566398
時(shí)間:
2022-4-30 13:17
把T1改成TI,REN=1,EA=1可以去掉
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1