MCU單片機(jī)STM32F系列不同尾綴之間的區(qū)別
"F"那一位指的是產(chǎn)品類型,現(xiàn)在似乎只有通用型即"F"
"103"那位指的是產(chǎn)品子系列,101= 基本型,102 = USB基本型、USB 2.0全速設(shè)備,103 = 增強(qiáng)型,105或107 = 互聯(lián)型
"C"那位指的是引腳數(shù)目,T=36腳,C=48腳,R=64腳,V=100腳,Z = 144腳
"8"那位指的是FLASH的大小,4=16K,6=32K(RAM=10K),8=64K(RAM=20K),B=128K(RAM=20K),C=256K(RAM=48K),D=384K(RAM=64K),E=512K(RAM=64K),F(xiàn)=768K(RAM=96K),G=1024K(RAM=96K)
"T"那位指的是封裝方式,H=BGA,T=LQFP,U=VFQFPN,Y=WLCSP64
"6"那位指的是溫度范圍,6=-40~85攝氏度,7=-40~105攝氏度
除了基本功能外,下面是主要區(qū)別:
STM32F103資源:一路CAN2.0B,最大1MBFlash、96KB SRAM,,72MHZ主頻,SDIO
STM32F105/107:兩路CAN2.0B,最大256KBFlash、64KB SRAM,,72MHZ主頻,一路USB2.0 OTG
STM32F207/217與F205/215:兩路CAN2.0B,,最大1MB Flash、128KB SRAM,120MHZ主頻,兩路USB2.0 OTG,SDIO
最近用stm32f103rgt6時,發(fā)現(xiàn)芯片發(fā)燙,測試溫度后,大約44度,于是懷疑是芯片有問題,或者電路問題,后來找到手冊一看,正常工作溫度就是45度,居然這么高,但c8t6的溫度就比較低。
我們在使用KEIL的時候,每次編譯完程序之后,在Build Output里面都會出現(xiàn)下面這個東西:
在Program Size一列可以看到: Code=23410 RO-data=1042 RW-data=236 ZI-data=9580
Code:程序代碼部分
RO-data:表示程序定義的常量及用const定義的常量
RW-data:表示已初始化的全局變量
ZI-data:表示未初始化的全局變量
Code、RO-data、RW-data 燒寫的時候,存到flash里面
RW-data、ZI-data 程序初始化的時候,RW-data會被拷貝到RAM里面,和ZI-data一同存在RAM里面
這樣的話,Code、RO-data、RW-data一共是24688位,24.109KB。RW-data、ZI-data一共是9816位,9.586KB。我們用的單片機(jī)是STM32F103RBT6,這個單片機(jī)的FLASH是128KB,RAM是20K的。還是夠用的,但是當(dāng)程序量、變量增加的時候就要注意使用了。
通過上面可知,占用RAM大小的為RW-data、ZI-data,假設(shè)使用stm32f103c8t6,代碼輸出信息如下:
Code=23582,Ro-data=430,Rw-data=6144,Zi-data=14304,那么RAM大小為6144+14304=20448,19.96875kb,而c8t6只有20KbRAM,顯然有些不夠。
keil中數(shù)組定義RAM大小的關(guān)系:
假設(shè)定義數(shù)組 uchar Data[200][10];當(dāng)改成 uchar Data[200][10],通過keil下側(cè)的編譯信息可以得出變化了100位,即0.0976kb。
再假如,使用rgt6,定義下面四個數(shù)組:
uchar t1[max_row][15];
uchar t1[max_row][15];
uchar R1[max_row][10];
uchar R1[max_row][10];
當(dāng)max_row=256時,RAM=5368+23432=28800->28.125kb,
當(dāng)max_row=512時,RAM=10488+31112=41600->40.625kb,
當(dāng)max_row=768時,RAM=15608+38792=54400->53.125kb,
當(dāng)max_row=1024時,RAM=20728+46472=67200->65.625kb,
當(dāng)max_row=1280時,RAM=25848+54152=80000->78.125kb,
當(dāng)max_row=1536時,RAM=30968+61832=92800->90.625kb,
當(dāng)max_row=1792時,出現(xiàn)編譯錯誤,已經(jīng)超出rgt6的范圍了。
來源網(wǎng)絡(luò),如有差錯請聯(lián)系網(wǎng)站客服幾十改正。

