為什么要使用STM8系列?
為項目或產品選擇微控制器時,必須選擇正確的微控制器。由于Microchip不斷的生產和支持,PIC器件非常出色,而AVR器件包含一個非常強大的CPU(可能更多的是CISC而不是RISC)。然而,簡單的原型最終可能變成商業產品,當這種情況發生時,每一分錢都很重要。 PIC控制器通常比AVR設備便宜,而AVR設備可能更難以隨時編程。這就是STM8系列微控制器的用武之地,非常便宜,功能強大且速度快!
然而,ST設備存在缺陷;他們沒有好的軟件包,許多編譯器/IDE需要購買許可證。值得慶幸的是,COSMIC(為STM設備生產C編譯器)完全發布了他們的編譯器,對STM8設備沒有任何限制,而STM32設備仍然限制在32K編程空間(這對大多數項目來說都是如此)。只要您每年注冊一次免費許可證,您就可以不受限制地對STM8進行編程!
讓我們開始使用STM8!
如何安裝IDE STVD
使用STM8設備的第一步是下載并安裝IDE。目前有兩種IDE可供使用:STVD和IAR。 IAR是一個更現代化的系統,支持數千個設備,可能看起來是合乎邏輯的選擇,但是,我選擇使用STVD。這有幾個原因:
IAR是一個大型程序而不是您想要在舊機器上運行的程序
IAR是一個商業化程度很高的產品并且包含許多限制
STVD是一個較舊的IDE,看起來它基于Visual Studio 2005.盡管如此,它在Windows 10上運行非常好,所有功能都在運行,包括調試器!所以要下載STVD,請點擊此鏈接,點擊“獲取軟件”,滾動到彈出窗口的底部,點擊“接受”,當該窗口消失時,點擊“下載”。
下載軟件部分。
STVD IDE只有82-83MB,因此下載時間不會太長。在下載時,我們還需要下載COSMIC C編譯器。為此,請單擊此鏈接,注冊您的詳細信息,然后單擊“提交”。
此時您應該看到下載鏈接,因此請繼續下載COSMIC C編譯器。這個文件應該是20MB左右。
成功注冊COSMIC C編譯器應該顯示這個頁面。
下載了這兩個文件后,就可以安裝IDE和COSMIC C編譯器了。首先從STVD下載中提取安裝文件,然后運行安裝程序,保留所有選項(例如,安裝路徑等)。安裝了STVD后,就可以安裝COSMIC C.在完成選項的同時,請確保保持默認值和選項,用戶和公司名稱除外!
安裝結束時它將詢問有關注冊編譯器的問題。確保單擊此按鈕,然后單擊“繼續/完成”時,將出現以下窗口。只需填寫您的詳細信息并通過電子郵件索取許可證文件。
開始新項目
現在我們需要安裝所有東西,現在是時候啟動STVD IDE并創建一個新項目了。首先加載IDE,然后單擊File> New Workspace。在出現的窗口中,單擊“創建工作區和項目”。
對于我們的工作區名稱,我們將其保存在C:的文件夾中名為STEM8WS。
下一個窗口將詢問我們的項目名稱等,所以現在我們將調用我們的項目“OurFirstProject”,放入文件夾STM8WS中名為Project1的文件夾,選擇COSMIC作為工具鏈,然后提供編譯器的路徑。假設你在COSMIC C安裝中沒有改變任何東西,工具鏈根應該是......
C: Program Files(x86) COSMIC FSE_Compilers CXSTM8
下一步涉及選擇我們正在使用的設備。在這種情況下,我們使用的是簡單的STM8S103F3P,因此我們將從列表中選擇它。完成此操作后,新項目應顯示在左側的工作區導航器中,從此處您需要加載main.c文件。
在本教程中,我們將使LED閃爍。所以現在,在STVD中輸入以下代碼。
/*MAIN.Cfile
*
*Copyright(c)2002-2005STMicroelectronics
*/
#include"stm8s.h"
voidsimpleDelay(void);
main()
{
GPIOB->DDR=0xFF;
while(1)
{
GPIOB->ODR=~GPIOB->ODR;
simpleDelay();
}
}
voidsimpleDelay(void)
{
unsignedinti,j;
for(i=0;i1000;?i?++)
{
for(j=0;j40;?j?++)
{
}
}
}
連接ST-LINK V2
下一步是將ST-LINK V2設備連接到USB端口。連接完成并且Windows安裝完設備后,您需要運行STVD安裝文件夾中的特殊文件,該文件允許STVD使用它。假設您沒有更改安裝目錄,可以在此處找到此文件:
C: Program Files(x86) STMicroelectronics st_toolset stvd dao ST Toolset.msi
一旦安裝,STVD IDE將能夠直接調試您的STM8項目,這允許單步執行代碼,查看變量和反匯編!
您還需要將ST-LINK V2編程器連接到目標板,在這種情況下是STM8S103F3P。使STM8器件編程的好處是SWIM系統,它是一種單線編程方法,只需要四條線:電源,接地,復位和編程。
測試程序
在我們測試程序之前,我們必須做一個每個STM8項目都需要做更多的事情;我們需要包含一個特殊的STM8頭文件。但是這個頭文件不僅需要包含,而且需要進行非常輕微的更改,因為您需要在頭文件中選擇設備。首先,下載這個特殊的頭文件:
https://github.com/EarToEarOak/DDS-Sine-Sweep/blob/master/src/stm8s.h
下載后,將此文件復制到項目文件夾,然后在IDE中右鍵單擊“包含”文件夾,然后選擇“將文件添加到文件夾”。在打開的對話框中,選擇我們下載的STM8S.h文件。
現在打開STM8S.h文件并取消注釋與之相關的行您的設備(這些行位于第30行和第40行之間)。在這種情況下,我取消注釋包含STM8S103的線路,因為那是我正在使用的設備。該文件告訴COSMIC哪些寄存器可用以及它們位于何處。編輯完成后,保存包含文件。
下一步要求您保存先前在STVD IDE中更改的main.c文件并編譯代碼。要編譯該程序,請單擊Build> Compile main.c。
編譯完成后,單擊Build> Build構建項目。如果一切順利,應該有0個錯誤和0個警告。
現在是時候選擇目標了,所以點擊Debug Instrument> Target Settings,填寫在窗口中,如下所示,并單擊“應用”。
完成后,單擊Debug> Start_Debugging,STVD可能會詢問有關重建的信息。如果是,則同意重建,ST-LINK V2應自動開始下載代碼。如果出現通信錯誤,請嘗試重新連接ST-LINK V2。
最后一步是通過單擊調試選項上的“繼續”來運行程序。如果一切順利,您應該看到LED閃爍(假設您擁有與本教程中使用的模塊相同的模塊)。如果您使用了不同的電路板,則需要連接LED或探測PORTB上的其中一個引腳以查看閃爍。
-
mcu
+關注
關注
146文章
17358瀏覽量
352817 -
STM8
+關注
關注
18文章
392瀏覽量
56983
發布評論請先 登錄
相關推薦
光纜8d與8b區別
8pinM8公頭插針編碼介紹
![<b class='flag-5'>8pinM8</b>公頭插針編碼介紹](https://file1.elecfans.com/web2/M00/E5/69/wKgZomZDF0GAdPlqAADQLpcUPF4626.png)
網絡布線8口光纖是什么
8芯M8接口需要經常檢修嗎
![<b class='flag-5'>8</b>芯M<b class='flag-5'>8</b>接口需要經常檢修嗎](https://file1.elecfans.com/web2/M00/C7/F4/wKgZomYXl0KAAFL_AADOko-X4qc742.png)
8芯M8插頭可靈活接線嗎
![<b class='flag-5'>8</b>芯M<b class='flag-5'>8</b>插頭可靈活接線嗎](https://file1.elecfans.com/web2/M00/C6/54/wKgaomX9JraAfrffAADMjZr3SK0688.png)
M8_8pin母頭怎樣保養
![M<b class='flag-5'>8_8</b>pin母頭怎樣保養](https://file1.elecfans.com/web2/M00/C6/54/wKgaomX9JraAfrffAADMjZr3SK0688.png)
M8_8pin母頭抗震能力如何
![M<b class='flag-5'>8_8</b>pin母頭抗震能力如何](https://file1.elecfans.com/web2/M00/C6/54/wKgaomX9JraAfrffAADMjZr3SK0688.png)
M8_8pin母頭硬度怎么樣
![M<b class='flag-5'>8_8</b>pin母頭硬度怎么樣](https://file1.elecfans.com/web2/M00/C6/54/wKgaomX9JraAfrffAADMjZr3SK0688.png)
M8_8芯接口電氣性能
![M<b class='flag-5'>8_8</b>芯接口電氣性能](https://file1.elecfans.com/web2/M00/C6/54/wKgaomX9JraAfrffAADMjZr3SK0688.png)
M8_8芯插座信號傳輸效果如何
![M<b class='flag-5'>8_8</b>芯插座信號傳輸效果如何](https://file1.elecfans.com/web2/M00/C6/54/wKgaomX9JraAfrffAADMjZr3SK0688.png)
M8_8芯接頭信號傳輸的效果怎么樣
![M<b class='flag-5'>8_8</b>芯接頭信號傳輸的效果怎么樣](https://file1.elecfans.com/web2/M00/C6/54/wKgaomX9JraAfrffAADMjZr3SK0688.png)
評論