久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3291|回復: 10
收起左側

STC12C5a60S2單片機AD檢測串口發送問題

[復制鏈接]
ID:394056 發表于 2019-2-21 17:05 | 顯示全部樓層 |閱讀模式
這個程序寫完發現串口接受的數據都是混亂的,還請大神指教啊?我都郁悶一天了。


主程序
#include"stc12c5a60s2.h"
#include"ADC.h"
#include"UART.h"
unsigned char channel;  //如果我在此處將Channel改成Channel=0串口接受不到數據?不知道什么問題
void main()
{
   UART_init();
   ADC_init();
   while(1);
}
void adc_isr() interrupt 5 using 1
{
ADC_CONTR&=!ADC_FLAG;
UART_Sent(channel);
UART_Sent(ADC_RES);
UART_Sent(ADC_RESL);  
if(++channel>7) channel=0;
ADC_CONTR=ADC_POWER|ADC_SPEEDLL|ADC_START|channel;
}
  ADC程序
#include"stc12c5a60s2.h"
#include"ADC.h"
#include"Delay.h"
void ADC_init()      //ADC?????????
{
P1ASF=0xff;
ADC_RES=0;
ADC_RESL=0;
ADC_CONTR=ADC_POWER|ADC_SPEEDLL|ADC_START|0;  //?????????
delay(3);
EA=1;
EADC=1;

串口程序
#include"stc12c5a60s2.h"
#include"UART.h"
void UART_init()
{
SCON=0x5a;
S2CON= 0x5a;
PCON|=0x80;
AUXR|=0x19;
AUXR1 |=0x10;
BRT=0xfa;
IE2|=0x01;
ES=0;
EA=1;  
TI=0;
RI=0;
}
void UART_Sent(uchar fdata
{
SBUF=fdata;
while(TI==0);
TI=0;

}
}




串口接受到數據,完全不是我要的啊

串口接受到數據,完全不是我要的啊
回復

使用道具 舉報

ID:432823 發表于 2019-2-21 21:03 | 顯示全部樓層
ADC讀數時,先選定通道、打開adc電源,等待轉換完成,(轉換標志位置1)后,讀數。
回復

使用道具 舉報

ID:277550 發表于 2019-2-21 22:53 | 顯示全部樓層
把10進制,當16進制發送。。。。。。。。。。。。。應該轉換進制,或接收端轉換回來成10進制

~~~~~~~~~~~~~~

回復

使用道具 舉報

ID:158375 發表于 2019-2-22 08:41 | 顯示全部樓層
問題沒說清楚:單片機AD檢測串口發送問題?倒是把人說糊涂了!
回復

使用道具 舉報

ID:474677 發表于 2019-2-22 08:47 | 顯示全部樓層
樓主先檢查波特率設置是否正確,還有STC12C5a60S2的片子如果采用內部時鐘,會有相當幾率的串口通信異常,因為它的內部RC振蕩器頻率誤差比較大,我最近剛好碰到這類問題……
回復

使用道具 舉報

ID:394056 發表于 2019-2-22 09:23 | 顯示全部樓層
devcang 發表于 2019-2-21 22:53
把10進制,當16進制發送。。。。。。。。。。。。。應該轉換進制,或接收端轉換回來成10進制

~~~~~~~~~~ ...

官網程序也沒有進行進制轉換,也是直接將RES和RESL直接發送出去的。不太明白怎么轉換,還請指導

回復

使用道具 舉報

ID:394056 發表于 2019-2-22 09:25 | 顯示全部樓層
yaoji123 發表于 2019-2-21 21:03
ADC讀數時,先選定通道、打開adc電源,等待轉換完成,(轉換標志位置1)后,讀數。

是先打開的AD電源然后轉換的呢
回復

使用道具 舉報

ID:394056 發表于 2019-2-22 09:28 | 顯示全部樓層
笨笨兔 發表于 2019-2-22 08:41
問題沒說清楚:單片機AD檢測串口發送問題?倒是把人說糊涂了!

主題是比較簡短的了(水平不夠啊),這個問題有啥方法解決嗎
回復

使用道具 舉報

ID:213173 發表于 2019-2-22 09:49 | 顯示全部樓層
1.使用STC12C5a60S2的串口通訊必須外接晶振,內部振蕩器無法滿足波特率精度。
2.樓主初始化串口程序可能有誤,使用串口2獨立波特率發生器設置如圖 無標題.jpg

回復

使用道具 舉報

ID:123289 發表于 2019-2-22 12:24 | 顯示全部樓層
核實一下波特率
回復

使用道具 舉報

ID:394056 發表于 2019-2-22 13:34 | 顯示全部樓層
wulin 發表于 2019-2-22 09:49
1.使用STC12C5a60S2的串口通訊必須外接晶振,內部振蕩器無法滿足波特率精度。
2.樓主初始化串口程序可能有 ...

問題已經解決,確實是自己在串口配置中出錯了(波特率計算錯了導致收到的數據全錯了),謝謝大家的幫助。
但是有遇到了個新問題就是有幾個通道返回的數據不正確,不太明白問題出在哪里了啊
2019-02-21_170352.png
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美不卡一区二区三区 | 亚洲欧美视频在线观看 | 国产欧美精品区一区二区三区 | 免费看啪啪网站 | 成人在线播放 | 99久久婷婷| 中文字幕av一区二区三区 | 一区二区三区在线 | 欧 | 91免费在线视频 | 精品日韩 | 一本一道久久a久久精品综合蜜臀 | 欧美激情在线观看一区二区三区 | 久久精品青青大伊人av | 黄网站在线播放 | 国产激情精品视频 | 国产精品1区2区 | 中文字幕亚洲视频 | 黄色网一级片 | 欧美激情一区 | 91亚洲一区 | 欧美日韩一区二区三区在线观看 | 日韩午夜电影在线观看 | 国产成人福利在线观看 | 日韩欧美一区二区三区 | 国产不卡一区 | www..99re | 久久久久久高潮国产精品视 | 国产精品日韩欧美一区二区三区 | 一区二区精品在线 | 九七午夜剧场福利写真 | 一区精品国产欧美在线 | 精品国产一区二区国模嫣然 | 欧美aⅴ片 | 日韩一区二区三区四区五区六区 | 中文在线一区 | 中文字幕亚洲一区二区三区 | 国产高清视频一区 | 国产国产精品久久久久 | 日日天天 | 九九热在线免费视频 | 中文字幕第一页在线 |