欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
關于單片機串口發送數據定時問題的請教,謝謝大神!
[打印本頁]
作者:
729481693
時間:
2017-11-5 17:36
標題:
關于單片機串口發送數據定時問題的請教,謝謝大神!
問題描述:想通過串口中斷 實現每100ms發送一次數據,從而1s實現發送10組數據
現在將上述代碼燒錄完成后,串口無數據顯示;
請假各位大神解答,謝謝!
代碼如下:
void main()
{
delay(500); //上電延時
init_uart();
InitMPU6050(); //初始化MPU6050
delay(150);
while(1)
{
if(num >= 2)
{
int i;
num = 0;
mark_change(dis,mark);
if(++mark >=1000)
mark=0;
for(i=0;i<4;i++)
SeriPushSend(dis[i]);
Display10BitData(GetData(ACCEL_XOUT_H)); //顯示X軸加速度
Display10BitData(GetData(ACCEL_YOUT_H)); //顯示Y軸加速度
Display10BitData(GetData(ACCEL_ZOUT_H)); //顯示Z軸加速度
Display10BitData(GetData(GYRO_XOUT_H)); //顯示X軸角速度
Display10BitData(GetData(GYRO_YOUT_H)); //顯示Y軸角速度
Display10BitData(GetData(GYRO_ZOUT_H)); //顯示Z軸角速度
}
}
}
void ser() interrupt 1
{
TH0=(65536-45872)/256;
TL0=(65536-45872)%256; //設定定時器50ms進入一次中斷;
num++;
}
復制代碼
作者:
wulin
時間:
2017-11-6 10:35
本帖最后由 wulin 于 2017-11-6 13:15 編輯
你這是通過串口, 實現每100ms發送一次數據串,與串口中斷無關。
直接與之相關程序:
unsigned char code str[12]={0xEB,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x55};
bit flag=0;
unsigned char num;
void InitUART()//11.0592MHz
{
TMOD = 0x21;//定時器0方式1,定時器1方式2(8位重載)
TH0 = 0x4C; //50ms
TL0 = 0x00; //50ms
TH1=0xfd;//波特率9600
TL1=0xfd;//波特率9600
SM0=0; //設置串口方式1(8位UART波特率可變)
SM1=1; //設置串口方式1(8位UART波特率可變)
TR0 = 1;//開定時器0
TR1 = 1;//開定時器1
}
void main()
{
unsigned char i;
InitUART();
while(1)
{
if(flag==1)
{
flag=0;
for(i=0;i<12;i++)//數據頭+10幀有效數據+數據尾共12幀
{
SBUF = dis
;
while(!TI);
TI = 0;
}
}
}
}
void ser() interrupt 1
{
TH0 = 0x4C; //重裝50ms
TL0 = 0x00; //重裝50ms
num++;
if(num>=2)
flag=1;
}
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1