AliOS Things IOT開發(fā)板初體驗(yàn)(基于STM32L496VGTx)
關(guān)注嵌入式云IOT技術(shù)群,給你帶來(lái)更多精彩!
這款開發(fā)板出廠默認(rèn)帶的是AliOS Things,官方推薦用AliOS-Things uCube來(lái)開發(fā)具體的應(yīng)用,就連源碼也是通過(guò)STM32CubeMX工具生成基本的IO配置和功能后,在HAL庫(kù)基礎(chǔ)上繼續(xù)二次開發(fā),個(gè)人用得不爽,不爽就換回Keil環(huán)境吧,期間遇到一個(gè)問(wèn)題,順便記錄了一下。
凡使用一款開發(fā)板,先點(diǎn)燈,點(diǎn)燈是第一步,接下來(lái)才有其它的工作,點(diǎn)燈程序一樣還是基于STM32CubeMX創(chuàng)建,然后在Keil MDK上來(lái)實(shí)現(xiàn),先來(lái)看看板子上的第一個(gè)LED的硬件連接圖。
如原理圖所示,LED接在PB6這個(gè)管腳,當(dāng)往該IO寫入低電平時(shí),LED點(diǎn)亮,反之LED燈熄滅,接下來(lái)開始打開STM32CubeMX,開始基本配置。
一、新建一個(gè)STM32L496VGTx的工程(基于STM32L496VGTx)
1.1 時(shí)鐘配置
這里默認(rèn)選擇的是外部晶振源提供的時(shí)鐘,然后默認(rèn)配置最高的主頻。
1.2 配置LED
1.3 生成Keil MDK工程
int main(void)
{
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
/* USER CODE BEGIN 2 */
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin);
HAL_Delay(200);
}
/* USER CODE END 3 */
}
如代碼所示,HAL_GPIO_TogglePin這個(gè)函數(shù)會(huì)讓LED所對(duì)應(yīng)的IO翻轉(zhuǎn)高低電平,由于加了延時(shí)200ms,所以看到的效果就是LED快速的閃爍。
開發(fā)板使用的是USB轉(zhuǎn)ST_Link,所以在此之前需要安裝驅(qū)動(dòng),板子的開發(fā)資料也已經(jīng)提供了,板子所有的資料包括源代碼都在Github上提供,感興趣的朋友可以去下載。
https://github.com/alibaba/AliOS-Things/wiki/Developer-Kit-Tutorial
如果不下載對(duì)應(yīng)驅(qū)動(dòng)的話,Keil是識(shí)別不了SW Device的,安裝驅(qū)動(dòng)后如下圖所示:
原因是發(fā)現(xiàn)Keil沒(méi)有添加對(duì)應(yīng)STM32L4XXX相關(guān)的的FLASH算法,我們把算法添加進(jìn)去后再次點(diǎn)擊下載即解決問(wèn)題。
二、 運(yùn)行結(jié)果
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場(chǎng),如有問(wèn)題,請(qǐng)聯(lián)系我們,謝謝!