性无码一区二区三区在线观看,少妇被爽到高潮在线观看,午夜精品一区二区三区,无码中文字幕人妻在线一区二区三区,无码精品国产一区二区三区免费

  • 回復
  • 收藏
  • 點贊
  • 分享
  • 發(fā)新帖

單片機位數(shù)編程差別

單片機位數(shù)的不同對于編程來說除了寄存器多謝,麻煩些,沒有什么不同了吧?
全部回復(37)
正序查看
倒序查看
Constance
LV.11
2
2014-01-29 21:47
精度!
0
回復
Constance
LV.11
3
2014-01-29 21:47
還有處理能力!
0
回復
cltwolf
LV.5
4
2014-02-11 17:51

單位時間內(nèi)處理的數(shù)據(jù)量不同(數(shù)據(jù)量大的時候,數(shù)據(jù)包大小不同)

為什么現(xiàn)在的CPU要從32位再上一層到64位,就是因為數(shù)據(jù)分析處理速度會加倍提升。

低位數(shù)單片機在處理超過自身位數(shù)的數(shù)據(jù)時,它的計算速度會慢很多很多,不是兩倍那么簡單。

比如同樣時鐘頻率下,你用8位MCU處理一個16位的數(shù)據(jù),那么,你用16位MCU的時候,它有可能是1uS,可用8位的就不止10uS了。

0
回復
2014-03-15 00:00
主要看處理速度,頻率
0
回復
2014-03-15 03:49
論壇中單片機高手很多,慢慢學吧,一同進步。
0
回復
2014-03-15 04:00
32位單片機編程要注意大小端的問題,8位自然就不需要
0
回復
2014-03-15 04:01

8位單片機,典型的是51系列的,再高級點用AVR、pic的,功能方面,似乎都不會很復雜,一般可能是控制類的多一下。一般不跑嵌入式OS。

16位的單片機,我接觸的主要是MSP430,感覺16位的單片機比較尷尬,高不成低不就,要求低一點,8位MCU就夠,高級點不如用32位MCU。一般不跑嵌入式OS。16位就不說了

32位的,就高級點了,一般能跑嵌入式OS,例如ucos2,ucos3,uclinux等等,能做更多復雜的功能。用OS和不用OS的話,編程的思路差異比較大。功能一般有面向控制的,也有簡單消費類電子的。

0
回復
2014-03-15 04:02
@山東大漢
8位單片機,典型的是51系列的,再高級點用AVR、pic的,功能方面,似乎都不會很復雜,一般可能是控制類的多一下。一般不跑嵌入式OS。16位的單片機,我接觸的主要是MSP430,感覺16位的單片機比較尷尬,高不成低不就,要求低一點,8位MCU就夠,高級點不如用32位MCU。一般不跑嵌入式OS。16位就不說了32位的,就高級點了,一般能跑嵌入式OS,例如ucos2,ucos3,uclinux等等,能做更多復雜的功能。用OS和不用OS的話,編程的思路差異比較大。功能一般有面向控制的,也有簡單消費類電子的。

32位在某些情況下需要對齊,對datafalsh讀寫時地址要是4的整數(shù)倍

編程方面如果RAM足夠考慮到效率問題盡可能用32位變量,不過貌似編譯器會根據(jù)情況自動把char換成int32

0
回復
山東大漢
LV.10
10
2014-03-15 04:02
@山東大漢
32位在某些情況下需要對齊,對datafalsh讀寫時地址要是4的整數(shù)倍編程方面如果RAM足夠考慮到效率問題盡可能用32位變量,不過貌似編譯器會根據(jù)情況自動把char換成int32
8位16位32位的區(qū)別就在于地址位和數(shù)據(jù)位位寬不同。其實都一樣。比如8位的51單片,網(wǎng)上同樣有人在上面移植ucos。16位的如430就更不用說了。32位的目前大多數(shù)是arm架構(gòu)的,與前面的8位、16位的指令集不同。除掉前面的boot會用一小段匯編(主要是來clear寄存器,初使化堆棧--有些書上也叫棧)其它大多用C.只要用對應架構(gòu)和平臺的編譯器就可以了。故而作為一個c的RD,不需要考慮太多。
0
回復
山東大漢
LV.10
11
2014-03-15 04:02
@山東大漢
8位16位32位的區(qū)別就在于地址位和數(shù)據(jù)位位寬不同。其實都一樣。比如8位的51單片,網(wǎng)上同樣有人在上面移植ucos。16位的如430就更不用說了。32位的目前大多數(shù)是arm架構(gòu)的,與前面的8位、16位的指令集不同。除掉前面的boot會用一小段匯編(主要是來clear寄存器,初使化堆棧--有些書上也叫棧)其它大多用C.只要用對應架構(gòu)和平臺的編譯器就可以了。故而作為一個c的RD,不需要考慮太多。
32位單片機中uint 有4個字節(jié),8位單片機中 uint 只有2個字節(jié)
0
回復
山東大漢
LV.10
12
2014-03-15 04:02
@山東大漢
32位單片機中uint 有4個字節(jié),8位單片機中 uint 只有2個字節(jié)
現(xiàn)在要用8位,簡單快速,,16位嗎價格沒有優(yōu)勢,,32位嗎解決復雜問題一般建議上操作系統(tǒng),最簡單也得是RTX吧,,功能上當然32位強大多了,執(zhí)行效率時8位是us級,32位是ns級,夸張點講相差1000倍。。
0
回復
hao2985
LV.9
13
2014-03-15 08:41
低位數(shù)單片機在處理超過自身位數(shù)的數(shù)據(jù)時,它的計算速度會慢很多很多,不是兩倍那么簡單。
0
回復
山東大漢
LV.10
14
2014-03-15 18:31
@hao2985
低位數(shù)單片機在處理超過自身位數(shù)的數(shù)據(jù)時,它的計算速度會慢很多很多,不是兩倍那么簡單。
都是基礎知識
0
回復
208971
LV.7
15
2014-03-15 23:03
@chenyingxin7610
論壇中單片機高手很多,慢慢學吧,一同進步。
0
回復
208971
LV.7
16
2014-03-15 23:03
@Constance
精度!
是的
0
回復
208971
LV.7
17
2014-03-15 23:03
@Constance
還有處理能力!
對的
0
回復
208971
LV.7
18
2014-03-15 23:04
@cltwolf
單位時間內(nèi)處理的數(shù)據(jù)量不同(數(shù)據(jù)量大的時候,數(shù)據(jù)包大小不同)為什么現(xiàn)在的CPU要從32位再上一層到64位,就是因為數(shù)據(jù)分析處理速度會加倍提升。低位數(shù)單片機在處理超過自身位數(shù)的數(shù)據(jù)時,它的計算速度會慢很多很多,不是兩倍那么簡單。比如同樣時鐘頻率下,你用8位MCU處理一個16位的數(shù)據(jù),那么,你用16位MCU的時候,它有可能是1uS,可用8位的就不止10uS了。
謝謝,這些我理解
0
回復
208971
LV.7
19
2014-03-15 23:04
@Constance
還有處理能力!
謝謝,理解
0
回復
208971
LV.7
20
2014-03-15 23:04
@山東大漢
8位單片機,典型的是51系列的,再高級點用AVR、pic的,功能方面,似乎都不會很復雜,一般可能是控制類的多一下。一般不跑嵌入式OS。16位的單片機,我接觸的主要是MSP430,感覺16位的單片機比較尷尬,高不成低不就,要求低一點,8位MCU就夠,高級點不如用32位MCU。一般不跑嵌入式OS。16位就不說了32位的,就高級點了,一般能跑嵌入式OS,例如ucos2,ucos3,uclinux等等,能做更多復雜的功能。用OS和不用OS的話,編程的思路差異比較大。功能一般有面向控制的,也有簡單消費類電子的。
0
回復
2014-03-15 23:56
@山東大漢
現(xiàn)在要用8位,簡單快速,,16位嗎價格沒有優(yōu)勢,,32位嗎解決復雜問題一般建議上操作系統(tǒng),最簡單也得是RTX吧,,功能上當然32位強大多了,執(zhí)行效率時8位是us級,32位是ns級,夸張點講相差1000倍。。
要根據(jù)實際功能要求來選擇用多少位單片機。
0
回復
CYX740111
LV.5
22
2014-03-16 07:21
@Constance
還有處理能力!

速度,精度,功能。

0
回復
xinzha
LV.1
23
2014-03-17 12:56

位數(shù)不同,一個指令內(nèi)處理的數(shù)據(jù)量也不同,比如你在八位機上想實現(xiàn)32位乘法,就得設計一個算法才能實現(xiàn),而在高于32位的機器上,只需要賦值,計算就可以了。

位數(shù)的不同也意味著直接尋址空間的不同,比如說32位的cpu(不考慮pae),其可直接尋址的能力是4G,而真正的8位機那就只有256字節(jié)了(幸虧很多8位機的地址總線是16位的。。。),尋址能力的擴大允許在同一個地址空間之內(nèi)有更多的程序并存,可以直接操作更多的內(nèi)存,對處理能力的提升是巨大的。而如果你能夠?qū)ぶ返哪芰τ邢蓿梢幚砗芏嗟氖虑?,就得考慮某些庫的動態(tài)加載和鏈接,對于嵌入式來說還是有點痛苦。

對于編譯器來說,不用位數(shù)的cpu意味著數(shù)據(jù)長度的不同,比如說在16位機多數(shù)默認int為16位數(shù),而在32位機上默認為32位數(shù),這也就是很多編程規(guī)范里面要求盡量使用uint32或者uint16這樣的數(shù)據(jù)定義,而避免使用int的原因。

大小端的差別,位數(shù)高于8的機器,你就要考慮大小端差異了,這是件頭疼的事。

還有一個要說的是尋址模式,32位的RISC類型cpu多數(shù)要求在尋址時做到邊界對齊,而8位機才完全沒必要考慮這個。

其他還有很多差別,一時無法完全描述出來,還得在實踐中慢慢體會。

0
回復
hao2985
LV.9
24
2014-03-20 21:29
看處理速度,頻率
0
回復
luoyan1980
LV.8
25
2014-03-20 21:32
@山東大漢
主要看處理速度,頻率
現(xiàn)在的CPU要從32位再上一層到64位,就是因為數(shù)據(jù)分析處理速度會加倍提升。
0
回復
luoyan1980
LV.8
26
2014-03-20 21:33
@山東大漢
都是基礎知識
8位16位32位的區(qū)別就在于地址位和數(shù)據(jù)位位寬不同。其實都一樣。比如8位的51單片,
0
回復
luoyan1980
LV.8
27
2014-03-20 21:34
@Constance
還有處理能力!
32位的目前大多數(shù)是arm架構(gòu)的,與前面的8位、16位的指令集不同。除掉前面的boot會用一小段匯編(主要是來clear寄存器,初使化堆棧--有些書上也叫棧)其它大多用C.只要用對應架構(gòu)和平臺的編譯器就可以了。
0
回復
luoyan1980
LV.8
28
2014-03-20 22:15
@chenyingxin7610
論壇中單片機高手很多,慢慢學吧,一同進步。

速度,精度,功能。

0
回復
luoyan1980
LV.8
29
2014-03-20 22:16
@山東大漢
8位單片機,典型的是51系列的,再高級點用AVR、pic的,功能方面,似乎都不會很復雜,一般可能是控制類的多一下。一般不跑嵌入式OS。16位的單片機,我接觸的主要是MSP430,感覺16位的單片機比較尷尬,高不成低不就,要求低一點,8位MCU就夠,高級點不如用32位MCU。一般不跑嵌入式OS。16位就不說了32位的,就高級點了,一般能跑嵌入式OS,例如ucos2,ucos3,uclinux等等,能做更多復雜的功能。用OS和不用OS的話,編程的思路差異比較大。功能一般有面向控制的,也有簡單消費類電子的。

速度,精度.

 

 

 

 

0
回復
luoyan1980
LV.8
30
2014-03-20 22:16
@hao2985
低位數(shù)單片機在處理超過自身位數(shù)的數(shù)據(jù)時,它的計算速度會慢很多很多,不是兩倍那么簡單。

速度,精度,功能。

0
回復
hao2985
LV.9
31
2014-03-24 19:33
CPU要從32位再上一層到64位,就是因為數(shù)據(jù)分析處理速度會加倍提升
0
回復
發(fā)