笙泉MA505_24,串列埠列印亂碼問題解決
最近在用笙泉的MA805_24晶片,在除錯串列埠時總是出現串列埠打印出亂碼問題,22.1184MHZ的晶振,波特率設定為9600,
AUXR2 |= 1<<6; //選擇SYSCLK作時鐘源
TMOD &= 0x0F; //使用定時器1 8位自動過載為波特率發生器
TMOD |= 0x20;
TH1 = 256-(SYSCLK)/(32*UART0_BAUDRATE); //SYSCLK=1T,SMOD2=0,SMOD1=0;時的波特率計算。
ET1 = 0;
TR1 = 1;
程式上找不出問題,只能在硬體上找問題,最後發現MCU的VDD電壓為4.3V 偏低,正常工作電壓為4.5V到5.5V,於是把VDD改成了5V,問題得以解決。
總結一下,之前一直沒懷疑是電壓問題是因為同樣4.3V供電時MCU可以跑起來,燈也能閃,按鍵也能用,經過我程式驗證得出系統頻率為0.6131MHZ,與標準22.1184MHZ不符合,這才猜想有可能是供電電壓不夠引起的,果真如此,以後一定要按照MCU手冊來給MCU電壓,避免再出現這種小錯誤。
相關推薦
笙泉MA505_24,串列埠列印亂碼問題解決
最近在用笙泉的MA805_24晶片,在除錯串列埠時總是出現串列埠打印出亂碼問題,22.1184MHZ的晶振,波特率設定為9600, AUXR2 |= 1<<6; //選擇SYSCLK作時鐘源TMOD &= 0x0F; //使用定時器
[Android6.0][RK3399] 串列埠無法輸入輸出 串列埠列印亂碼
Platform: RK3399 OS: Android 6.0 Version: v2017.03 新裝的電腦,安裝了 minicom 後,連線上 3399 的板子無列印資訊,無法輸入。安裝過程如下: [Linux] 串列埠除錯工具 Mini
STM32F1xx微控制器使用韌體庫時串列埠列印亂碼的解決辦法
有時STM32F1系列微控制器在配置完串列埠之後進行列印時,會出現列印亂碼的問題,此時有可能是以下幾種情況引起:1. 串列埠工具所選擇的波特率和微控制器設定的波特率不一致,請認真排查波特率問題;2. 串列埠的TX、RX管腳可能接觸或焊接不好,請排查硬體問題;3. 程式中使用的
STM32串列埠列印printf傳送中文亂碼問題
1、首先要確保使用keil程式正確編譯,並且程式經過除錯,已經可以正常傳送英文字元,但是傳送中文字元時亂碼。2、使用記事本開啟main.c檔案(或其他主程式),點選另存為,在右下方選擇編碼方式為ANSI,替換原檔案即可
[RK3399][Android7.1] 除錯筆記 --- 串列埠列印輸出亂碼
Platform: RK3399 OS: Android 7.1 Board: Firefly-RK3399 剛拿到FireFly的板子,開機後輸出亂碼,原因在於波特率設定不對。 一般的板子平臺設定的都是115200,而這塊板子設定的1500000,
[Arduino]新增輸出,執行程式時,串列埠顯示器的輸出亂碼
[Arduino]執行程式時,串列埠顯示器的輸出亂碼 寫程式時,有時會因為多加了一個Serial.println("......"),導致整個程式原有的正確輸出變為亂碼輸出。 此時將新增加的輸出語句變短一點,或刪除,程式就可正確執行。 感覺這是arduino的一個bug
51微控制器串列埠列印不管是中文還是英文都是亂碼的問題
講道理都tm大三暑假了還搞51微控制器而且關鍵是還遇到了一個問題解決了一天才解決出來真的是很丟人了。不過我會珍惜這個機會的,畢竟這有可能是我輩子最後一次跟著老師搞這個破玩意了。好了不廢話了 收!昨天遇到的問題是微控制器用串列埠給電腦發資料,本人用串列埠助手檢視時亂碼了,傳送的
STM32板子斷開JTAG,串列埠無法正常工作
遇到一個十分奇怪的故障,板子在JTAG連線的情況下,一切正常;當斷開JTAG的連線後,串列埠不在工作,經過各種排查;也查詢了一些網友的經驗:大致分為以下幾種情況: 1.STM32的BOOT配置不對,BOOT0,BOOT1沒有接到GND; 2.復位電路有問
串列埠顯示亂碼的原因總結
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
openCR-串列埠列印HelloWorld
/* * Serial_HelloWorld */ volatile int nCount=0; void setup() { Serial.begin(115200); } void loop() { //print "Hello World!!" to PC though USB Vi
CC2530無線RF,串列埠透傳
1.前言 本文將分析一個利用CC2530實現無線串列埠,文中將會列舉部分程式碼並對CC2530的具體操作進行分析。本文的具體的內容包括以下幾個部分: CC2530是符合802.15.4標準的無線收發晶片,但是本文並沒有遵守802.15.4協議規則,在傳送過程中忽略了網路ID、源地址和目
ARM-qt 開發,串列埠配置
在使用終端開發使用串列埠時,配置串列埠的方式尤為重要 1、要使用串列埠就先開啟串列埠 int OpenUartPort(const char *UartPort) { int fd; fd = open(UartPort,O_RDWR|O_NONBLOCK);
stm32f103的IAP升級時,部分APP程式功能丟失,串列埠中斷不起作用,怎麼辦?
昨天我用stm32f103做IAP升級,APP程式是一個LED閃爍和一個串列埠1收發資料。結果IAP升級後,發現APP程式只有LED閃爍但是串列埠1不行甚至引起宕機.這種半死不活的現象是最莫名其妙的,它一半在暗示你APP好像移植成功了一半失敗了一半。這種現象是最不好找原因的。後來,發現,是有三個竅門
esp8266 探測MAC地址,串列埠輸出.環境 Aruduino1.85
esp8266混雜模式下的接收資料回撥函式 promisc_cb 解析資料 串列埠輸出。 #include <ESP8266WiFi.h> #include "./sniffer.h" #define disable 0 #define CHANNEL 1
C#熱敏列印圖片 串列埠列印圖片
如圖,一步一步慢慢調出來的 //串列埠通訊類 public System.IO.Ports.SerialPort serialPort = null; serialPort = new System.IO.Ports.SerialPort("COM1"); serialP
openwrt關閉串列埠列印資訊
mt7620n僅有一個串列埠 由於開發板只有一個UART lite介面,在原生的OpenWrt中作為了核心列印和tty控制檯所用。 而在很多情況下,需要使用串列埠與外部晶片進行通訊,這時就需要從OpenWrt中釋放串列埠。 其實這個任務只有兩個步驟:(我們假定$(TOP
/dev/kmsg在串列埠列印除錯資訊
#include <stdio.h> #include <string.h> #include <stdarg.h> static void mp4api_dbprint_ttxgz(char* format,.
【Tel18218088355的專欄】專業從事視訊類轉換IC,含:RGB,LVDS,MIPI,EDP,HDMI,VGA,CVBS,USB,GPS,UART,BT656\601\1120,V By-one,Type-C,串列埠,電源,ISP等
專業從事視訊類轉換IC,含:RGB,LVDS,MIPI,EDP,HDMI,VGA,CVBS,USB,GPS,UART,BT656\601\1120,V By-one,Type-C,串列埠,電源,ISP等...
STM32串列埠通訊亂碼詳細處理方法
STM32串列埠通訊以及溫度採集搞定,其中主要遇到STM32系列微控制器時鐘樹的問題,串列埠通訊遇到串列埠除錯助手能夠接收到資料但出現亂碼現象,開始一直以為是串列埠配置和程式程式碼問題,因為是第一次上電線上除錯STM32板子,後面主要查串列埠波特率配置和收發函式程式段,如下
QT第三方串列埠類Win_QextSerialPort,串列埠工具插拔後無法繼續使用問題
if(myCom!=NULL){ myCom->close(); myCom->setParent(NULL); delete myCom; myCom=NULL; } myCom =