作者shawnwang (休假妳好)
看板ASM
標題[問題] 單晶片可以用 fork 跑多個 process 嗎
時間Sun Apr 3 12:29:11 2011
※ [本文轉錄自 Electronics 看板 #1Db_TEME ]
作者: shawnwang (休假妳好) 看板: Electronics
標題: [問題] 單晶片可以用 fork 跑多個 process 嗎
時間: Sun Apr 3 12:27:56 2011
程式運行在 89S51 上,遇到一個小問題
有 10 個腳位在偵測低電位,一旦偵測到,就會呼叫蜂鳴器副程式 (大約響 0.5 秒結束)
由於呼叫副程式,因此在這 0.5 秒之中,此 10 個腳位便無法再進行偵測動作
這樣是個大問題,因為隨時可能會有低電位進來
因此我想用 C 的 fork 來執行蜂鳴器的動作,讓 parent process 繼續回去偵測腳位
但卻發現 Keil C 好像沒辦法使用 fork??
一旦 include #include <unistd.h> 或 #include <sys/types.h>
皆顯示找不到此標頭檔,如此一來就沒辦法使用 fork 函式了...
===
此篇其實有兩個方向想參考大家的意見
一個是如果蜂鳴器響很久的話,大家都怎麼讓程式能繼續偵測腳位
另一個是 Keil C 是否真的無法使用 fork 函式呢
感謝大家~~
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.129.141.188
※ 編輯: shawnwang 來自: 220.129.141.188 (04/03 12:30)
1F:推 ruemann:那就改寫蜂嗚器的副程式 (用硬體pwm或timer去完成) 04/03 13:03
2F:→ ruemann:或是那十根IO用二極體接到一個外部中斷源,用中斷偵測LOW 04/03 13:04
3F:推 mimi0213:寫個kernel,自己implement fork 04/03 13:34
4F:推 WolfLord:花點時間看看 KEIL C的RTX51吧 04/03 15:10
5F:→ ksmrt0123:用 timer 就夠用了 04/03 16:00
6F:推 MasterChang:有一種叫做rtos的好物 04/03 16:47
7F:推 saram:外接555, 觸發第2腳使之觸發充放電. 響聲時間可以RC*1.1決定 04/04 23:00
8F:推 WolfLord:其實只要好好安排單工程序,並不需要太複雜的技巧 =.= 04/05 02:33
9F:推 stool100:觀念能多工 程式就可多工 04/05 21:18
10F:→ shawnwang:謝謝大家~~ 長知識了!! 04/17 22:38