pikascript相當于一個小型的micropython。
原文:https://blog.csdn.net/lt6210925/article/details/130694587
最近有一些結構上的調整,這篇文章大概介紹一下如何使用。以及開發過程中需要注意的問題。
這篇文章幾乎適配所有的RT-THREAD上的bsp。(部分bsp可能需要修改一些兼容性問題)
當然,首先你要對RT-THREAD有所熟悉
熟悉網頁https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/tutorial/quick-start/stm32f103-simulator/stm32f103-simulator
操作步驟
下載代碼
首先將代碼下載下來git clone https://github.com/RT-Thread/rt-thread
在這里的bsp找到自己手上開發板,這邊我選擇使用/bsp/stm32/stm32wb55-st-nucleo 開發板,
在env的工具里,首先先執行下面命令menuconfig
和pkgs --update
以及scons --target=mdk5
這樣是為了生成比較新的工程,然后打開keil燒入,查看是否可以點亮小燈。
這樣做的目的是為了驗證當前的基礎工程是否是ok的。打開串口
然后將亮燈的小燈注釋掉,方便后面點燈
選擇pikascript軟件包
打開menuconfig
選擇language
分類下面的pikascript版本
找到對應的pikascript軟件包。
然后執行
pkgs --update
下載軟件包。然后執行
scons --target=mdk5
然后再下載到板子里。在板子上執行pika 命令,可以看到下面的界面然后接下來我們就可以通過修改軟件包下面的main.py 文件來修改main.py腳本了。當然你也可以像python一樣,一個命令一個命令敲。 main.py目錄:bspstm32stm32wb55-st-nucleopackagespikascript-latest這邊我提供如何點亮小燈的py腳本,直接將這個腳本覆蓋掉main.py里面內容即可
1importPikaStdLib
2importpikaRTThread
3importPikaStdDeviceasmachine
4
5thread=pikaRTThread.Thread()
6mem=PikaStdLib.MemChecker()
7led=machine.GPIO()
8led.setPin('PB.0')
9led.setMode('out')
10led.enable()
11led.low()
12
13foriinrange(0,10):
14print('helloPikaScript!')
15led.low()
16thread.mdelay(500)
17led.high()
18thread.mdelay(500)
19
20print('memusemax:')
21mem.max()
修改之后記得執行一下scons --target=mdk5
這個時候會把main.py腳本設置進去,編譯代碼下載代碼。之后執行pika可以看到小燈閃爍。從log中也可以看到對應的信息注意事項小燈引腳小燈引腳PB.0要根據你板子上LED信息進行調整,這邊就代表PORTB 0 腳上是LED小燈。另外小燈引腳在main.py里面的PB.0 這個會根據你的driver_gpio.c里面的get_num 這個函數來的,如果還沒有,可以實現一下,這個函數好像是最近加的,STM32基本都實現了,其他bsp要根據GPIO定義情況實現。
報錯
如果遇到編譯不過的情況,打開pikascript package包下面的requestment.txt修改如下
1pikascript-core==v1.12.0
2PikaStdLib==v1.12.0
3pikaRTThread==v1.3.2
4pikaRTDevice==v1.1.4
5PikaStdDevice==v2.3.5
也可以根據https://github.com/pikasTech/PikaPython/blob/68e6da3ae5bacda03600a17b51816bdbe9175326/packages.toml#L358這里查看最新的版本,用最新的pikaRTDevice版本最近改動比較大的就是pikaRTDevice 這個模塊,其他模塊暫時不會大改動。
如何開發
根目錄下面的SConscript 文件里面執行了兩個exe
1os.system(cwd+'/'+'pikaPackage.exe')
2os.system(cwd+'/'+'rust-msc-latest-win10.exe')
執行pikaPackage.exe 會把所有代碼更新一遍(同樣也會把你的本地的修改覆蓋掉),所以如果你想嘗試修改,切記把這個注釋掉,前面加#即可,只有第一次下載的時候需要取消注釋。rust-msc-latest-win10.exe 這個會將main.py等進行轉換。不需要注釋STM32開發板應該都可以跑。待辦事項目前還不是很完善,如果感興趣,可以幫助我們移植相應的模塊到驅動接口上,目前有以下接口:
1#os.system(cwd+'/'+'pikaPackage.exe') 2os.system(cwd+'/'+'rust-msc-latest-win10.exe')
如何提交代碼
寫好.c之后 打開網頁pikascript.com 最下面有個上傳模塊輸入模塊名稱pikaRTDevice選擇版本號然后下一步上傳.c即可,會自動生成PR 參考examplehttps://github.com/pikasTech/PikaPython/tree/master/package/STM32G0https://github.com/pikasTech/PikaPython/tree/master/package/ESP32———————End———————
RT-Thread線下入門培訓
6月 - 鄭州、杭州、深圳
1.免費2.動手實驗+理論3.主辦方免費提供開發板4.自行攜帶電腦,及插線板用于筆記本電腦充電5.參與者需要有C語言、單片機(ARM Cortex-M核)基礎,請提前安裝好RT-Thread Studio 開發環境
立即掃碼報名
報名鏈接
https://jinshuju.net/f/UYxS2k
巡回城市:青島、北京、西安、成都、武漢、鄭州、杭州、深圳、上海、南京
你可以添加微信:rtthread2020 為好友,注明:公司+姓名,拉進RT-Thread官方微信交流群!
點擊閱讀原文,進入RT-Thread 官網
-
RT-Thread
+關注
關注
31文章
1304瀏覽量
40300
原文標題:手把手教你在RT-THREAD bsp上運行pikascript腳本點亮小燈
文章出處:【微信號:RTThread,微信公眾號:RTThread物聯網操作系統】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論