作者MasterChang (我愛ASM)
看板ASM
標題Re: [問題] 跳出的問題
時間Sun Jun 7 16:56:01 2009
※ 引述《CuckooBoy (新竹的仔)》之銘言:
: 我使用for迴圈,做讀/寫/讀/寫eeprom.
: 頻率K級的.
: 如果資料大,可能會花上80sec
你的問題癥結點是,因為讀寫大資料的eeprom造成 mcu沒辦法執
行其他工作。
再來就是一般進行讀寫的程序也不容被打斷。
那你應該用RTOS來管理。透過queue和mutex的機制解決。哪那種
土法煉鋼的作法,程式碼會越改越看不懂自己在幹嘛。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.104.147.96
1F:推 ruemann:可是如果他的東西不複雜,自己弄個排程管理也可以吧 06/07 17:02
2F:推 WolfLord:利用timer岔開也不錯 06/07 17:53
3F:推 CuckooBoy:r大: 什麼是排程管理? 06/07 18:27
4F:推 CuckooBoy:M大:RTOS喔?....我的MCU可以辦到?.......我考慮一下 06/07 18:30
5F:→ CuckooBoy:W大: 可以多說一點timer岔開的一些資訊嗎? 06/07 18:32
6F:→ CuckooBoy:如果我用page改bytes方式,會不會好一點..我想想~"~ 06/07 18:34
7F:→ CuckooBoy:當初會用page是因為想說page寫比byte寫快,沒想到... 06/07 18:35
8F:→ CuckooBoy:如果真的byte能"較快"中斷,那一個code就要page/byte共存 06/07 18:36
9F:推 CuckooBoy:M大:您說的土法煉鋼是指 if (SBUF=='E'||SBUF=='e')嗎? 06/07 18:42
10F:→ CuckooBoy:如果是, 哈~~就是覺得這方法很笨,所以想請教有沒有更好 06/07 18:43
11F:→ CuckooBoy:的方法~\ 06/07 18:43
12F:→ CuckooBoy:加那些要多5sec,而且還不一定"即時",剛好page完才會. 06/07 18:44
13F:推 ruemann:其實就是分時多工啦,在讀寫I2C時的delay可以做其他事情 06/08 14:12
14F:→ ruemann:而不會被I2C的程序給卡住 06/08 14:12