智能車制作

 找回密碼
 注冊

掃一掃,訪問微社區

QQ登錄

只需一步,快速開始

查看: 755|回復: 5
打印 上一主題 下一主題

逐飛【STC智能車開源庫】正式上線

[復制鏈接]

51

主題

2226

帖子

4

精華

知名人物

成都逐飛科技有限公司

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

積分
37097

論壇元老獎章資源大師獎章在線王獎章活躍會員獎章優秀會員獎章論壇骨干獎章

QQ
威望
20523
貢獻
11376
兌換幣
4667
注冊時間
2010-2-24
在線時間
2599 小時
畢業學校
樂山師院
跳轉到指定樓層
1#
發表于 2020-4-20 17:33:17 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最后由 fbhsy 于 2020-4-20 17:45 編輯

一、前情提要:

       STC(宏晶)為第十五屆全國大學生智能汽車競賽的新引入的贊助商之一,在已經公布的規則中,指定了節能組只能使用STC的三款單片機作為主控芯片,其中包括最開始公布的兩款(STC8G2K64S4STC8H8K64S4)可以免費申請的樣片。后來根據廣大師生建議,為了便于參賽隊伍自行購買方便,對于現在庫存量比較大的單片機的型號也允許用于智能車競賽,擴充的STC單片機型號為STC8A8K64S4在這三款單片機中,8G2K,8H8K都是新品,并且都可以申請免費樣片,目前8G2K已經量產,并已經根據申請情況免費發放給兩百多所高校;8H8K量產還需要一段時間,目前還申請不到,原廠內測中,想使用這款的同學還需要再等一段時間;8A8K是商用成熟產品,可以直接購買使用。       二、底層驅動庫需求:
   按理說,大家對STC應該很熟悉了,至少比對英飛凌和恩智浦熟悉很多了,而且STC單片機本身也簡單易用,寄存器也沒多少,不像32位單片機那么復雜,就算自己從頭寫也不會太難,但很奇怪的是自從新規則發布以來,依然有很多想參加智能車競賽的同學們希望有個底層庫供他們開發使用,我想這里面有一部分是的確還沒學習過單片機,還有一部分應該就是懶吧,對于還沒有單片機基礎的,可以參考逐飛底層驅動庫的寫法自己學習單片機的操作和使用,但是對于那部分懶癌同學,我也無話可說了啊,畢竟是開源的,歡迎使用,歡迎大佬提出使用建議,相互交流,共同進步。
       三、逐飛STC智能車開源庫:
   本次逐飛發布基于上文中能拿到芯片的兩款單片機的底層庫,分別是“逐飛STC8G2K開源庫”&“逐飛STC8A8K開源庫”。下面我們就通過本文來詳細了解下吧。

版權聲明:該開源庫版權歸成都逐飛智能設備有限公司所有,歡迎各位使用并傳播該庫程序,修改內容時務必保留逐飛科技的版權聲明。未經允許不得用于商業用途或變相獲利。


逐飛STC8G2K開源庫鏈接:https://gitee.com/seekfree/STC8G2K64S4_Library
逐飛STC8A8K開源庫鏈接:https://gitee.com/seekfree/STC8A8K64S4_Library

       STC8G/STC8A底層庫繼續沿用逐飛科技RT10xx系列庫的風格,使用過逐飛庫的同學應該知道,簡潔易懂,容易上手。本次STC8G/STC8A開源庫使用MDK進行編寫的。使用單片機寄存器作為最底層。然后將各個模塊使用的寄存器進行封裝提升易用性。當大家覺得庫的功能不滿足自己使用需求時,可以采用同樣的方式自己調用寄存器來實現更多其他的功能。大家可以通過我們的庫來學習官方的寄存器怎么使用,當自己學會怎么使用官方的寄存器之后也可以直接使用寄存器,這樣的好處就是沒有多余的代碼,降低自己代碼的體積,提高效率。我們并不希望用戶只會用我們的庫,我們更多的是希望初學者不被高門檻給攔在外面,逐飛庫只是提供一個入門學習的渠道而已。
    3.1、目錄結構圖:

   Libraries文件夾下放置的是STC頭文件,以及數據類型聲明,board等文件。
   seekfree_libraries文件夾下放置的是逐飛科技精心編寫的底層驅動,底層驅動是用STC提供的頭文件進行二次封裝,以簡化各個模塊的使用步驟,使用更加方便。如果不是參加競賽的用戶可以使用這一層的驅動來實現STC8A/8G的快速上手,也可以通過查看我們的代碼用于寄存器如何使用。目前支持ADC、EXTI、IIC、SPI、PIT、CTIME、UART。如果有需要其他功能亦可直接調用寄存器來實現其他功能。
   seekfree_peripheral文件夾下放置的是各類常用的模塊驅動,當使用到這些模塊時只需要調用函數即可實現相應的功能,非常的簡單方便。目前實現線性CCD、1.8寸TFT、ICM20602六軸陀螺儀、IIC通訊協議(模擬IO)、1.14寸IPS液晶屏、MPU6050六軸陀螺儀、OLED顯示屏、虛擬示波器通訊協議、無線轉串口模塊。
   CODE文件夾下放置的是用戶自己添加的代碼文件,當用戶自己添加文件的時候我們建議全部添加在這個文件夾內。
   USER文件夾下放置的是main.c、isr.h、isr.c文件。

   3.2、底層驅動功能模塊
   目前逐飛STC8A/8G庫實現了芯片中ADC、SPI、IIC、UART、GPIO、PIT、DELAY、EXTI、CTIMR功能模塊的使用,以下幾個模塊單獨說明下:
   GPIO模塊使用過89C52的同學就知道GPIO不需要初始化,直接就能使用。在官方提供的頭文件中,所有的端口都已經被定義了。
   我們所編寫的GPIO模塊包含了GPIO模式選擇,上拉使能。
   EXTI模塊外部中斷模塊包含了五個外部中斷源觸發中斷,其中INT0和INT1支持邊沿觸發+下降沿觸發,其他三個只支持下降沿觸發。
   PWM模塊STC8G2K64S4理論上可以輸出45路PWM,STC8A8G64S4可以輸出8路PWM,對于節能組來說8路PWM實際上已經夠用了。
   CTIMR模塊CTIMR模塊是通過定時器外部計數,作為輸入捕獲。一共有五個定時器,最多實現五個CTIMER模塊,每個模塊可以實現一路編碼器的脈沖采集,這樣就可以采集逐飛帶方向輸出的編碼器數據。
   PIT模塊通過pca模塊,進行周期中斷。
   DELAY模塊通過pca模塊,進行硬件延時。

   3.3、各外設模塊的底層

   逐飛STC8A/8G庫還包含各個外設的模塊的底層適配,具體包含外設模塊如下圖所示:

   3.4、庫例程
   逐飛也為各位準備了各個模塊的庫例程,如下圖截圖所示,可以讓新手朋友或者沒有使用過我們庫的小伙伴能夠快速上手,大家從截圖中可以看到目錄全部采用英文,因為這樣可以避免出現各種奇怪的問題,所以建議寫代碼的小伙伴都用全英文的路徑避免出問題。最下方的excel中有講解例程的功能。

   3.5、使用示例

   接下來我們通過兩個外設模塊的舉例來演示庫是如何使用的。
   示例一:線性CCD數據采集。根據任務需要我們查找seekfree_peripheral文件夾下,可以找到SEEKFREE_TSL1401文件,我們只需要調用相關的函數即可實現任務需求。從這個示例我們可以看到,“紅孩兒”線性CCD又要重出江湖了,用于節能組車庫識別,或者使用STC單片機做基礎四輪組的同學也可以采用電磁導航+線性CCD識別車庫的方案。


   示例二:編碼器數據采集。編碼器數據采集,是通過定時器作為外部輸入捕獲來獲取編碼器數據。脈沖捕獲函數僅需要填寫一個參數即可獲取數據。下圖示例為雙編碼器數據采集示例。

   3.6、注意事項:

    3.6.1、串口需要占用定時器,CTIMER外部計數也需要占用定時器。不要同時使用同一個定時器。
    3.6.2、逐飛STC8A/8G庫,可以在線仿真,也可以使用stc-isp軟件進行下載,而下載需要的HEX文件,保存在Seekfree_STC8xxxxxxx_Opensource_Library\Project\MDK\Out_File文件下。
    3.6.3、逐飛STC8A/8G庫,默認使用內置晶振。在isp軟件下載程序的時候,需要將 “輸入用戶程序運行是的IRC頻率”設置為和 board.h文件中的FOSC宏定義一致,如下兩圖所示。


   四、結束語
   本期的庫介紹就到這里了,大家在使用庫的過程中如果遇到什么BUG,請及時聯系我們!我們將盡快修復。PS:通過QQ群聯系我們更方便,也方便大家討論交流,QQ群技術交流平臺(逐飛科技__智能車③部:824575535),如果發現庫有BUG、或不足、或對庫有什么建議,可以在群里提問或發表建議,也可與管理員私聊,保障該開源庫有什么缺陷時可以及時得到解決。然后再分享給各位,形成良性循環。最后,當然是希望大家多多支持逐飛科技,逐飛STC8G/ STC8A核心板已備好,線性CCD和STC主板學習板也即將上架,你們的支持是我們開源的動力。再次感謝車友們的厚愛!

本文由“逐飛科技”編輯整理,時間倉促,水平有限,難免有遺漏和錯誤,大神親拍,歡迎交流指正。愿智能車世界更美好!





本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?注冊

x
分享到:  微信微信 QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 轉播轉播 分享分享 頂 踩
回復

使用道具 舉報

16

主題

217

帖子

0

精華

常駐嘉賓

Rank: 8Rank: 8

積分
5008
威望
2673
貢獻
1647
兌換幣
1790
注冊時間
2018-4-22
在線時間
344 小時
推薦
發表于 2020-4-20 22:16:00 | 只看該作者
我頂!!
回復 支持 1 反對 0

使用道具 舉報

0

主題

3

帖子

0

精華

注冊會員

Rank: 2

積分
48
威望
30
貢獻
18
兌換幣
20
注冊時間
2020-3-19
在線時間
0 小時
3#
發表于 2020-4-23 11:34:35 | 只看該作者
期待大大的外設庫呀
回復 支持 反對

使用道具 舉報

1

主題

4

帖子

0

精華

注冊會員

Rank: 2

積分
29
威望
13
貢獻
16
兌換幣
7
注冊時間
2020-4-21
在線時間
0 小時
4#
發表于 2020-4-23 12:33:40 | 只看該作者
支持。已下載學習。
回復 支持 反對

使用道具 舉報

1

主題

10

帖子

0

精華

中級會員

Rank: 3Rank: 3

積分
317
威望
163
貢獻
154
兌換幣
92
注冊時間
2020-3-14
在線時間
0 小時
5#
發表于 2020-4-26 10:35:49 | 只看該作者
前天申請到STC8H的樣片(測試版A, 打標為TST: test), 支持硬件USB. 但USB仿真還需要下一版B
(194)

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?注冊

x
回復 支持 反對

使用道具 舉報

3

主題

341

帖子

0

精華

跨屆大俠

Rank: 10Rank: 10Rank: 10

積分
6611

活躍會員獎章優秀會員獎章論壇元老獎章在線王獎章

威望
3340
貢獻
2375
兌換幣
2196
注冊時間
2016-5-3
在線時間
448 小時
6#
發表于 2020-4-26 10:57:28 | 只看該作者
autopccopy 發表于 2020-4-26 10:35
前天申請到STC8H的樣片(測試版A, 打標為TST: test), 支持硬件USB. 但USB仿真還需要下一版B
(194)

大哥你是STC的人吧哈哈
回復 支持 反對

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 注冊

本版積分規則

關于我們|聯系我們|小黑屋|智能車制作 ( 京ICP備14023231號-8

GMT+8, 2020-6-1 23:44 , Processed in 0.128082 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表
澳洲幸运8官方网