初入社會,我一個中專職高生,是個硬件工師(偏重吧)。記得進入工作的是時候,因為開發部老大是我老鄉,后面幾年天天上班一起共事,下班后玩在一起。通過這個老鄉,讓我第一次認識99 SE軟件,和C51單片機,也算是我的貴人了。
99 SE算是自學會了,當然現在一直用Altium Designer Summer 09. 繼續回憶當年,經過大量的查閱,還知道了PIC, STM32, AVR, 國產的合泰和STC51等等,經過思想斗爭后,我選擇了PIC。。。后面的2年到4年工作時間里,斷斷續續學習PIC單片機,最開始用的匯編,是真的累!也沒做出什么東西來,學得也不怎么樣,期間自己畫開發板和仿真器,花上時間和金錢也是滿大的,書也是一本本堆來起來,還入手了三個仿真器,對於PIC,不想多說了,說多了都是淚。。。
轉折點,因為我第一個單片機玩的是PIC,要從新接收其他單片機,說實話很難,為什么? 學的匯編呀,大哥!最后花了幾千錢去培訓機構,邊工作邊學習了C語言,因為之前沒接觸C語言,沒有什么概念,記得當時問老師:“老師,什么是復合運算,這是什么意思?”哈哈,是不是很傻?
C語言算是學會了,不是很精通但是簡簡單單的,能馬馬虎虎用一下。這里無形中打開了另一遍天地,C語言是通用語言,可以用於任何單片機編程,於是馬上轉入STM32戰營,因為國內STM32的‘正點原子’嵌入式教學和 ‘野火’嵌入式教學,資料都很多了,用得人也比較多,一些問題可以百度、也可以復制進行驗證,降低了像我這種新手入門的要求。
現在,對!就說現在了,其中過程就不費話了,CONTIKI 3.0,是官方最新的。我現在只想搞精通Contiki OS操作系統, 配合SOC的RF芯片應用起來,這是我最終的目標。在寫之前,我已經成功將CONTIKI OS移植到了STM8和STM32芯片上了,比如clok.c,當CONTIKI的clok.c移置成功后,OS就有心跳時鍾了,像time和etime就可以使用了
如etime:
/*******************************************************************************
process1
*******************************************************************************/
struct etimer timeout1; //聲明ETMIER事件
PROCESS(hello_world_process1, "Hello world process1");//申請線程process1
PROCESS_THREAD(hello_world_process1, ev, data)//進程1的功能體
{
PROCESS_BEGIN();//開始
etimer_set(&timeout1,CLOCK_SECOND*1/2);//0.5S時間事件
while(1) {
PROCESS_WAIT_EVENT();//事件進行等待
if(ev == PROCESS_EVENT_TIMER) { //如果EV事件產生
printf("\nprocess1\r\n"); // printf信息,printf函數要自己實現才能輸出打印哦。
leds_toggle(LEDS_D2);//這個是os-->core-->dev驅動包里的抽象層接口,低層leds-arch.c要自己實現才能使用哦。
}//if
etimer_reset(&timeout1);//復位時間,周而復始
}//while(1)
PROCESS_END();//結束
}//PROCESS_THREAD
其實我申請了3個etime事件,進行測試,0.1S 0.5S 3.0S,通來示波器測試,還是相當精准的。因為移植前期,網上教程比較多,大家多上網查詢一下,我這里就不重復費話了。今天就到這里了,未完 待續中。。。。
有個前輩的感言,可以看看https://www.eda365.com/article-89693-1.html
最后試一下能不能上傳圖片。