注:本文是作者以前發表在其個人博客,現在發布到“聚豐開發”專欄
經過一段時間的應用,感覺應廣雙核單片機在這些方面可以給大家一些提示。
1.
對C的支持相對有限,目前最主要的是不支持乘法(*)和除法(/),如果是想做一些運算的處理需要程序員自己編寫相應程序,這樣就對程序員的編程技能有一定要求。不過這只是編譯器的不足,我相信假以時日應廣的技術人員會在編譯器中增加對乘法和除法操作符的支持。
(補充說明:現在應廣的IDE工具已經支持乘除法,可以由IDE工具直接生成乘除法的匯編代碼)
補充一句,***MCU廠商我個人感覺HOLTEK的C編譯器最強,真的做得不錯,就是MCU價格貴了點。
IDE自動生成的字節相乘代碼:
BYTEmul_y1, mul_x1;
WORDmul_t2;
voidByte_Mul_Byte (void)
{//mul_t2=mul_x1*mul_y1
//16=8*8
mul_t2$1=0;
BYTEcnt;
cnt=8;
do
{
mul_x1>>=1;
if (CF)
{
mul_t2+=(mul_y1 << 8);
}
mul_t2>>>=1;
} while (--cnt);
}
2.
匯編和MINI_C都不區分大小寫,會對習慣C程序風格的程序員產生小小的干擾。
3.
當電壓低于3.3V時,對內部RC的影響會非常之大,我們實測結果是當電壓為2.65V時,內部RC的頻率已經變慢到3.3V的一半,需要注意的是這個測試和系統時鐘的設定有一定關聯。
我咨詢應廣***技術人員他們要求工作電壓不得低于2.5V,實測結果是在2.5V以下芯片其實還能工作,就是速度變得很慢,我用少量芯片測試當電壓降到2.0時芯片還在正常工作。(對于量產產品建議還是按應廣產品手冊要求設計供電電壓范圍)
4.
ADC對采樣電壓點的輸入阻抗要求偏高(芯片數據手冊中已經提到此點),我們通過兩個電阻分壓測量電池電壓,系統時鐘為8M,ADC時鐘為系統時鐘16分頻,如果用51k/39k,ADC結果不對,改為5.1k/3.9k才能得到正確結果。這個特性對需要高速AD測量并且是電池供電的設計有不良影響,如不做特殊處理待機狀態下分壓電阻會有幾百微安得電流損耗。
5.
還是編譯器的問題,目前MINI_C只支持無符號數,如果需要處理有符號數,還得需要程序員自己想拌飯。
6.
應廣的MCU在待機電流方面做得還不錯,我們實測結果是3.3V為0.65uA,2.5V為0.3uA。
-
單片機
+關注
關注
6042文章
44617瀏覽量
637709
發布評論請先 登錄
相關推薦
評論