熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂(lè)園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
模擬串口接收數(shù)據(jù)不及時(shí),而且容易丟失數(shù)據(jù) |
188610329 發(fā)表于 2022-1-12 19:50 你好 你所說(shuō)的自由度是啥意思 比如呢 |
事實(shí)上,模擬的比硬件的自主性更高,穩(wěn)定性更好,如果你模擬的容易丟包,只能說(shuō)你的模擬代碼沒(méi)有寫好。 硬件最大的優(yōu)勢(shì)是,不占用MCU的時(shí)鐘資源,速度更快,缺點(diǎn)是自由度過(guò)低。 |
從效果上來(lái)講兩者都差不多。但在操作上來(lái)說(shuō)的話,硬件只需調(diào)用函數(shù)就行了,但模擬的話要調(diào)很多的時(shí)序之類的,而且硬件的要比軟件模擬更穩(wěn)定一些,因此,在做大型項(xiàng)目時(shí)我還是推薦使用硬件。 |
zhangxiaozi 發(fā)表于 2022-1-5 19:44 那模擬串口容易丟包 出錯(cuò) |
一個(gè)是純硬件執(zhí)行,一個(gè)是用軟件模擬硬件的時(shí)序,以串口為例,當(dāng)你發(fā)送一個(gè)字節(jié)0X55時(shí),硬件指行時(shí),你只要把他寫進(jìn)發(fā)送寄存器,TX端就會(huì)以此出現(xiàn) 0 1 0 1 0 1 0 1 0 之后就是高電平了,而用軟件模擬時(shí),你就要控制一位的時(shí)間 先發(fā)個(gè) TX=0 延時(shí)一個(gè)位時(shí)間 TX=1 延時(shí)一個(gè)位時(shí)間 TX=0 。。。完全模擬上邊的時(shí)序,一位的時(shí)間在你判斷是發(fā)1 還是0 包括八位發(fā)完了的判斷,每個(gè)指令的執(zhí)行時(shí)間都要考慮進(jìn)去。如果有定時(shí)器你也可以把位時(shí)間交個(gè)定時(shí)器中斷去做,但要考慮定時(shí)器的賦值,中斷的執(zhí)行時(shí)間,和中斷的返回都是在一位的時(shí)間范圍內(nèi) |
Powered by 單片機(jī)教程網(wǎng)