本帖最后由 51黑fan 于 2016-1-29 23:39 編輯
最近ST在國內大力推廣他的8位高性價比單片機STM8S系列,感覺性能上還是非常不錯的,網上稍微看了點資料,打算有機會還是學習一下,先入門為以后做好技術積累。好了,長話短說。手上拿到一套ST最近做活動贈送的三合一學習套件,上面包括STM32F小板、ST LINK小板、STM8S小板,做工很精致,相信很多朋友也收到了。既然當初去申請了,人家也送了,總得把用起來吧,放著吃灰塵是很可惜的^_^ 。
好,步入正題,剛開始在論壇上逛了一圈,感覺STM8S的資料實在太少,都是官方的應用資料,沒有什么入門介紹,連需要安裝什么軟件都搞不清楚。偶的電腦光驅壞了,所以也讀不出光盤里有什么東西,所以只能到處瞎摸,還是ourdev論壇好,嘿嘿,仔細看了幾個帖子,總算明白大概是什么樣的開發環境了。用C語言開發STM8S,需要安裝兩個軟件:1、STVD IDE開發環境;2、COSMIC for STM8 C編譯器。
STVD可以到官網下載,下載地址:http://www.zg4o1577.cn/bbs/dpj-43003-1.html
COSMIC 需要申請LICENSE,比較繁瑣,剛好壇子有人傳了一個免安裝無限制版本的,偶就趕緊下載了,大家可以去下載,僅做為個人學習使用。
下載地址:http://www.zg4o1577.cn/bbs/dpj-43001-1.html
軟件下載后,只需安裝STVD。從上面地址下載的COSMIC不用安裝,只要解壓到硬盤即可。后面建立工程的時候設置好路徑即可。
下面一步一步開始啦~
一、安裝好STVD后,桌面上建立了兩個快捷圖標,ST Visual Develop就是STVD了。ST Visual Programmer是編程軟件,可以配合ST LINK對STM8S進行編程燒錄。

二、雙擊運行ST Visual Develop,啟動STVD開發環境。執行 File \ New Workspace,在New Workspace窗口里選擇Create workspace and projects,點擊“確定”建立工作組和工程

三、在Workspace filename里輸入Workspace名稱,由于最終我們要測試一個現成的LED程序,所以偶寫了led,隨你喜歡了,呵呵。在Workspace里設置好文件當前要存放的路徑。然后點“OK”確定。

四、在Project filename里輸入工程的名稱,在Project location里設置好工程的存放路徑。因為我們是要用C語言來開發的,所以在Toolchain里要選擇 STM8 Cosmic 編譯器;在Toolchain root里就要填寫你剛才下載解壓后的那個無限制的Cosmic的存放路徑就可以了。都填好后,點“OK”。

怕大家搞不清楚上面的那個Toolchain root的存放路徑,特截圖一張。我是放在那里的,你看你放哪里就填哪里的路徑。

五、在MCU Selection里,需要選擇實際的MCU型號了,ST送的套件板上的芯片型號是STM8S207SBT6C,而下列的型號中卻是STM8S207S8,沒對上號,不知道是不是STVD弄錯了。反正偶選下面的STM8S207S8是可以用的,先用著咯,呵呵。雙擊型號后,點“OK”。

六、下面工程就建立好了,呵呵,自動生成main.c 、stm8_interrupt_vector.c 、mods0.h。試試compile、build,一切順利,因為現在main.c只有一個主程序,所以還是可以編譯通過的,沒有什么錯誤提示,如下下圖:


好了,以上就是使用STVD建立工程的詳細步驟了。
由于上面的main.c沒什么實質的程序運行,所以下面我們要運行一個ADC電壓采集,并把采集值賦給定時器,實現定時器PWM的變化輸出,驅動LED亮度發生變化的程序,這個程序我是從一個論壇上下載的,應該也是這個套件板的光盤里的內容。
我先把這個程序工程里的3個文件(main.c 、 tm8_interrupt_vector.c 、 STM8S207R.h)傳上來,其實這個工程也是可以直接運行的,但為了讓我們上面辛苦建立的工程發揮下作用,所以還是繼續沿用上面的工程,然后把我上傳的3個文件名里的main.c 、 tm8_interrupt_vector.c 里的內容復制到我們剛才建立好的工程對應的文件里;并把STM8S207R.h這個文件復制到我們工程目錄下,并添加到工程里,這個頭文件是必須的。
大家先下載這3個文件:
led.rar
(5.84 KB, 下載次數: 36)
2016-1-29 23:23 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
然后編譯程序,成功!

嘿嘿,下面要把實驗板連接到電腦調試了。
不過在連機調試前,要先設置下Debug instrument的Target Settings…,實驗板配套的是ST LINK,所以就選ST LINK就可以了。


還有一個重要的,差點忘了,那就是STM8S小板需要接獨立的外部電源,DC9~12V,插座是內正外負,別搞錯正負極了。
接上電源,板上的D4電源指示燈應該亮起,用USB連接線把ST LINK連接到電腦的USB。
然后點擊DEBUG按鈕,進入仿真調試界面

中間有一個確定窗口需要確定下就可以了。

進入仿真界面后,執行RUN按鈕運行程序,這時候實驗板進入全速運行的狀態,可以看到實驗板上的LD2發光二極管以一定的頻率在閃爍,LD1微亮,這時候順時針旋轉板上的那個電位器,可以發現LD2的閃爍頻率變慢,同時LD1的亮度增強。逆時針旋轉電位器則反之。

OK,至此STM8S的基礎入門到此結束,由于工作繁忙,更深入的了解學習請大家多多探討,這樣才能進步得更快。謝謝~
本工程里的這個ST公司寫的測試程序里有詳細的英文注釋,看看基本都能看懂。中斷函數需要在tm8_interrupt_vector.c里寫,大家注意下就可以了。現在沒有用到什么ST的函數庫,所以感覺像在用C語言開發AVR,差別不大。
|