SAST weekly是由電子工程系學生科協推出的科技系列推送,內容涵蓋信息領域技術科普、研究前沿熱點介紹、科技新聞跟進探索等多個方面,幫助同學們增長姿勢,開拓眼界,每周更新,歡迎關注,歡迎愿意分享知識的同學投稿
你是否對剛剛過去的硬件設計大賽意猶未盡?你是否面對即將到來的電子設計大賽蠢蠢欲動卻又害怕剛起跑就跌倒?別擔心,我們特意準備了這樣一篇推送來告訴你如何在電設前夕快速假裝自己入門STM32智能小車
提示:代碼部分如果看不清可以在底部百度云中找到工程的壓縮包
Chapter 0
假裝自己有STM32開發板和模塊
本教程使用的STM32開發板芯片型號為,涉及到的模塊包括紅外對管模塊、超聲波測距模塊(HC-SR04),舵機模塊(SG90),電機驅動模塊(L293D)。獲取這些模塊的方式包括但不限于:找學長學姐借、給馬云爸爸氪金、加入電子系科協硬件部、參加電子設計大賽。
Chapter 1:
假裝自己搭好了開發環境
配好了工程模板
Keil是單片機程序開發常用的IDE,集成了C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器。開發STM32要做的第一件事就是安裝(并破解)Keil,具體操作步驟請借助搜索引擎。
下一步需要配置與芯片相符的固件庫,固件庫可以在keil官網上找到,具體的下載安裝方法受限于篇幅,大家可以借助搜索引擎尋找相關教程。
之后需要建立對應自己芯片型號的工程模板,該模板可以用于之后此開發板上的各種工程,可以說是一次配置終身受用。需要注意正確配置魔術棒中的相關選項,大部分找不到頭文件、無法燒錄等問題均是沒有正確配置魔術棒導致的,具體操作受限于篇幅,請借助搜索引擎(建議搜索關鍵詞:STM32+新建工程模板)。
最后一步,在配置好工程模板之后需要嘗試燒錄以測試模板是否建立成功。將工程模板燒入開發板中,需要用到燒錄器。這里以ST-LINK作為例子,具體接線方式:SWD-VCC接ST-LINK-3.3V,SWD-GND接ST-LINK-GND, SWD-SWDIO接ST-LINK-SWDIO,SWD-SWCLK接ST-LINK-SWCLK。如果燒錄成功就說明工程模板建立完成了。
Chapter 2
假裝自己會調試串口通信
主要涉及內容:USART
需要的材料:開發板+USB轉TTL
難度:
GPIO簡要介紹:初學者可以簡單理解為芯片對外提供的端口,承擔著輸入輸出的功能,是整個開發板的眼與手。
我是你的眼(圖片來自網絡)
USART簡要介紹:通用同步/異步串行接收/發送器,通過對USART相關寄存器的設置可以配置波特率、數據位寬、停止位、奇偶校驗;通過對GPIO的配置可以定義串口輸入、輸出引腳。正確配置與接線后可以實現電腦與單片機的串口通信,是調試單片機的重要方式。
USART相關配置
(左側為頭文件部分,右側為源文件部分)
若看不清可以在底部百度云鏈接中找到工程壓縮包
代碼解讀:
定義了GPIO,USART,NVIC的初始化結構體
使能了GPIO和USART的時鐘
向結構體寫入GPIO配置,TX管腳為懸空輸入模式(剛剛講過懸空是什么@國林gg),RX管腳為推挽復用模式(推挽模式能夠真正輸出高低電平,由于不是GPIO的基本輸入輸出而是使用了USART的功能,所以使用復用模式)
向NVIC寫入channel和優先級并使能
向結構體寫入波特率、數據位寬、停止位、奇偶校驗并使能
打開接收中斷,打開串口,清除中斷標志位。
配置成功接口之后,重定向fputc函數就可以使用熟悉的printf來打印內容了~
這里需要注意使用printf需要使用頭文件stdio.h,keil中對缺省C庫進行了高度優化,打開魔術棒->target->Use 就可以使用一些常用的C庫函數了。
中斷服務函數配置(即中斷后調用的函數):
if語句確認接受緩沖區非空后可以執行一系列任務,本函數用于返回剛剛收到的指令。
具體效果如下,示例工程為壓縮包中的
Chapter 3
假裝自己會調試紅外對管模塊
主要涉及內容:GPIO輸入
需要的材料:開發板+紅外對管模塊+USB轉TTL
難度:
紅外對管模塊的簡要介紹:當檢測到檢測距離內存在障礙物時,紅外對管上的LED點亮同時OUT引腳持續輸出低電平,通過剛剛提到的GPIO的輸入功能檢測OUT引腳的電平就能夠判斷障礙物情況。另外,調節對管上的電位器可以調節檢測距離。
GPIO相關配置:
代碼解讀:
由于存在障礙物時紅外對管將與之相連的引腳拉低,因此,引腳應當在未拉低的情況下保持高電平,即將引腳設置為上拉輸入模式(這樣紅外對管沒有拉低引腳時引腳就是高電平)
讀引腳電平:
宏定義的是STM32庫函數t(,)來讀取引腳的電平,如果檢測到引腳低電平即紅外對管檢測范圍內存在障礙物就會持續打印“1“,在主循環中調用這個函數就能實現障礙物檢測的功能。
示例工程為壓縮包中的
Chapter 4
假裝自己會調試超聲波測距模塊
主要涉及內容:GPIO輸入輸出、EXTI、TIM計時
需要的材料:開發板+超聲波測距模塊+USB轉TTL
難度:
超聲測距模塊簡要介紹:
來自HC-SR04數據手冊
使用這個模塊需要首先給TRIG提供>10us的高電平,然后在外部中斷中配置ECHO對應引腳下跳沿中斷,然后讀TIM的計時信息就可以計算出障礙物的距離
EXTI簡要介紹:外部中斷在正確配置之后可以捕捉對應引腳的上升沿、下降沿信號,并產生中斷。
TIM簡要介紹:TIM的基本功能是計數:TIM每周期計數值發生一次變化(以向上計數模式為例),當計數值超過寄存器中存儲的數據時,產生一次溢出中斷。通過對TIM頻率、計數值、溢出次數的計算就能得到計時值
ECHO相關配置(左側為源文件部分,右側為頭文件部分)
代碼解讀:
定義結構體+使能時鐘
設置引腳:將ECHO引腳設置為輸入上拉模式(為了檢測傳感器拉低電平),將TRIG引腳設置為推挽輸出模式(為了輸出10us的觸發信號)
設置外部中斷的中斷源、中斷線、中斷事件(由于接收到信號后拉低所以配置為下跳沿出發中斷)、使能中斷
配置中斷向量表(外部中斷)
配置TIM:打開溢出中斷,計數器向上計數,TIM預分頻72,TIM周期20000,即時鐘頻率72MHz時,TIM頻率1MHz,即每1us對計數器+1,當計數器從0加到20000時產生溢出中斷并清零,可以通過()函數獲得的計數值,再加上溢出的次數*20000,就能得到從發出信號到收到信號經過的時間,單位us。
配置中斷向量表(溢出中斷)
使能中斷、使能TIM
發送觸發信號函數:
初始化所有計數值,然后將TRIG引腳拉高10us
在溢出中斷中調用計數函數,以獲取溢出次數。
當ECHO引腳拉低后進入外部中斷服務函數,調用函數得到總計數值并計算距離。
具體效果如下,數據單位為mm,示例工程為壓縮包中的
Chapter 5
假裝自己會調試舵機模塊
主要涉及內容:GPIO輸入輸出、TIM的PWM輸出
需要的材料:開發板+舵機模塊
難度:
SG90基本介紹:SG90是一款模擬舵機,需要持續提供周期為20ms的PWM波,根據占空比調整舵機角度
圖片來自網絡
TIM的PWM輸出模式基本介紹:在TIM基本計數功能的基礎上(TIM的基本計數配置可以調整PWM的周期),可以控制TIM的多個通道按照一定占空比輸出PWM波。以通用定時器PWM輸出模式1為例,當TIM的計數值低于比較計時器中存入的值時對應通道輸出有效電平,反之亦反。從而可以通過控制比較寄存器中裝入的值來改變輸出PWM的占空比。
舵機模塊初始化代碼:
代碼解讀:
定義結構體并使能相關時鐘
將定時器周期設置為20ms(解讀見ECHO部分TIM解讀)
將TIM設置為PWM輸出模式1(低于比較寄存器中的數值輸出有效電平),比較輸出使能,在比較寄存器內裝入值,設置有效電平為高電平,使能PWM輸出通道3(1個TIM可以有多個PWM輸出通道)
預裝載寄存器使能,重載寄存器使能
改變占空比調整舵機角度函數:
先將輸入角度換算成占空比,然后改變TIM比較寄存器中的值,從而改變舵機角度
具體效果如下,示例工程為壓縮包中的
Chapter 6
假裝自己會調試電機驅動模塊
主要涉及內容:GPIO輸入輸出、TIM的PWM輸出
需要的材料:開發板+電機驅動模塊
難度:
L293D簡單介紹:共3路輸入,IN1,IN2,EN,IN1和IN2同時高電平或低電平時,不輸出電流,電機不轉動;IN1,IN2一高一低時電機上有某一方向的電流流過,可以由此控制電機的順、逆時針轉動。EN端口接入高電平使能,可以接入PWM信號,從而實現電機調速。如果配合碼盤使用,則可以實現PID等控制算法。
電機驅動模塊初始化代碼(左邊為源文件,右邊為頭文件):
代碼分析:
配置3路GPIO,IN1,IN2配置為推挽輸出,EN配置為復用推挽(由TIM輸出PWM)
配置TIM相關內容(參考舵機模塊PWM輸出配置分析)
控制占空比函數:
通過調整比較寄存器內裝入的數據實現改變PWM波占空比的功能
具體效果如下,示例工程為壓縮包中的
Chapter 7
假裝自己有百度云可以下載工程文件壓縮包
鏈接:
密碼:01fs
撰稿:吳俊辰
審核:許璀杰
淘寶開直通車沒有品牌資質如何推廣?品牌授權怎么弄?
淘寶商家們可以使用淘寶直通車這種推廣方式,使用這個推廣方式的話,需要去設置一些相關的信息,淘寶商品都是有品牌資質要求的,如果沒有品牌資質的話,怎么進行推廣呢?
淘寶開直通車沒有品牌資質如何推廣?
1、現在淘寶直通車推廣品牌商品需要類目品牌的授權以后才能使用,其中包含有相關的營業執照和商標注冊或者商標授權書。沒有相應的品牌資質是無法通過淘寶直通車進行推廣的,且商品標題中的品牌關鍵詞和商品屬性品牌信不一致的情況下,還會違反“品牌不一致”的風險,商家在上傳商品時正確的填寫自己的品牌信息。
2、若商家的品牌商品是通過代銷或者分銷等渠道拿貨,可以讓上級供銷商提供商品相關的品牌授權證書,然后通過資質審核以后即可通過淘寶直通車的方式推廣品牌商品。不建議商家違規上架和推廣商品,就算能獲得極好的推廣效果,但是銷量起來以后也總有一天會出現被投訴售假的情況。
3、在沒有授權的情況下,可以選擇其他推廣工具進行推廣,比如淘寶客、鉆展、淘寶直播等等,也能獲得不錯的推廣效果。
淘寶品牌授權怎么弄?
1、品牌資質
若是推廣使用他人商品、品牌名稱,那么直通車用戶需要提供相應的品牌資質,具體資質如下:
品牌注冊商標
商標持有者主體證明
商標持有者給店鋪的銷售
logo使用授權
提交路徑:登錄直通車后臺找到賬戶,點擊資質管理的新增資質。大概審核需要1-2個工作日,審核通過后1個工作日后才能推廣。
2、行業資質
一般為藥品藥械、化妝品、保健品,才需要提供行業資質。
藥品藥械農藥獸藥行業需要提供的資質:藥品醫療器械僅支持天貓商家推廣,需提供食品藥品監督管理局頒發的廣告審查表,在浙江省內備案。特殊功效的化妝品商品,需要提供食品藥品監督管理局核發的批準文號。
保健品僅支持天貓客戶推廣,需提交完整且有效期內食品藥品監督管理局核發的《保健食品廣告審查表》。
3、媒介資質
直通車推廣出現媒介或活動方,就需要提供合作資質。合作資質,包括媒體合作協議或直接授權方轉授權給開店主體使用等信息。
資質提交入口:
登錄賣家后臺→直通車入口→直通車后臺→點擊賬戶→資質管理→選擇正確的資質類型提交資質→提交審核。如果沒有資質的話很難開通。
總而言之,淘寶商家們如果沒有品牌資質的話,想要繼續推廣的話,可能會麻煩一些,畢竟淘寶直通車推廣方式對于商家是有一些要求的,各位淘寶商家們可以先去申請品牌哦。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。