pikascript相當(dāng)于一個小型的micropython。
原文:https://blog.csdn.net/lt6210925/article/details/130694587
最近有一些結(jié)構(gòu)上的調(diào)整,這篇文章大概介紹一下如何使用。以及開發(fā)過程中需要注意的問題。
這篇文章幾乎適配所有的RT-THREAD上的bsp。(部分bsp可能需要修改一些兼容性問題)
當(dāng)然,首先你要對RT-THREAD有所熟悉
熟悉網(wǎng)頁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找到自己手上開發(fā)板,這邊我選擇使用/bsp/stm32/stm32wb55-st-nucleo 開發(fā)板,
在env的工具里,首先先執(zhí)行下面命令menuconfig
和pkgs --update
以及scons --target=mdk5
這樣是為了生成比較新的工程,然后打開keil燒入,查看是否可以點(diǎn)亮小燈。
這樣做的目的是為了驗證當(dāng)前的基礎(chǔ)工程是否是ok的。打開串口
然后將亮燈的小燈注釋掉,方便后面點(diǎn)燈
選擇pikascript軟件包
打開menuconfig
選擇language
分類下面的pikascript版本
找到對應(yīng)的pikascript軟件包。
然后執(zhí)行
pkgs --update
下載軟件包。然后執(zhí)行
scons --target=mdk5
然后再下載到板子里。在板子上執(zhí)行pika 命令,可以看到下面的界面然后接下來我們就可以通過修改軟件包下面的main.py 文件來修改main.py腳本了。當(dāng)然你也可以像python一樣,一個命令一個命令敲。 main.py目錄:bspstm32stm32wb55-st-nucleopackagespikascript-latest這邊我提供如何點(diǎn)亮小燈的py腳本,直接將這個腳本覆蓋掉main.py里面內(nèi)容即可
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()
修改之后記得執(zhí)行一下scons --target=mdk5
這個時候會把main.py腳本設(shè)置進(jìn)去,編譯代碼下載代碼。之后執(zhí)行pika可以看到小燈閃爍。從log中也可以看到對應(yīng)的信息注意事項小燈引腳小燈引腳PB.0要根據(jù)你板子上LED信息進(jìn)行調(diào)整,這邊就代表PORTB 0 腳上是LED小燈。另外小燈引腳在main.py里面的PB.0 這個會根據(jù)你的driver_gpio.c里面的get_num 這個函數(shù)來的,如果還沒有,可以實(shí)現(xiàn)一下,這個函數(shù)好像是最近加的,STM32基本都實(shí)現(xiàn)了,其他bsp要根據(jù)GPIO定義情況實(shí)現(xiàn)。
報錯
如果遇到編譯不過的情況,打開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
也可以根據(jù)https://github.com/pikasTech/PikaPython/blob/68e6da3ae5bacda03600a17b51816bdbe9175326/packages.toml#L358這里查看最新的版本,用最新的pikaRTDevice版本最近改動比較大的就是pikaRTDevice 這個模塊,其他模塊暫時不會大改動。
如何開發(fā)
根目錄下面的SConscript 文件里面執(zhí)行了兩個exe
1os.system(cwd+'/'+'pikaPackage.exe')
2os.system(cwd+'/'+'rust-msc-latest-win10.exe')
執(zhí)行pikaPackage.exe 會把所有代碼更新一遍(同樣也會把你的本地的修改覆蓋掉),所以如果你想嘗試修改,切記把這個注釋掉,前面加#即可,只有第一次下載的時候需要取消注釋。rust-msc-latest-win10.exe 這個會將main.py等進(jìn)行轉(zhuǎn)換。不需要注釋STM32開發(fā)板應(yīng)該都可以跑。待辦事項目前還不是很完善,如果感興趣,可以幫助我們移植相應(yīng)的模塊到驅(qū)動接口上,目前有以下接口:
1#os.system(cwd+'/'+'pikaPackage.exe') 2os.system(cwd+'/'+'rust-msc-latest-win10.exe')
如何提交代碼
寫好.c之后 打開網(wǎng)頁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線下入門培訓(xùn)
6月 - 鄭州、杭州、深圳
1.免費(fèi)2.動手實(shí)驗+理論3.主辦方免費(fèi)提供開發(fā)板4.自行攜帶電腦,及插線板用于筆記本電腦充電5.參與者需要有C語言、單片機(jī)(ARM Cortex-M核)基礎(chǔ),請?zhí)崆鞍惭b好RT-Thread Studio 開發(fā)環(huán)境
立即掃碼報名
報名鏈接
https://jinshuju.net/f/UYxS2k
巡回城市:青島、北京、西安、成都、武漢、鄭州、杭州、深圳、上海、南京
你可以添加微信:rtthread2020 為好友,注明:公司+姓名,拉進(jìn)RT-Thread官方微信交流群!
點(diǎn)擊閱讀原文,進(jìn)入RT-Thread 官網(wǎng)
原文標(biāo)題:手把手教你在RT-THREAD bsp上運(yùn)行pikascript腳本點(diǎn)亮小燈
文章出處:【微信公眾號:RTThread物聯(lián)網(wǎng)操作系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
RT-Thread
+關(guān)注
關(guān)注
31文章
1251瀏覽量
39753
原文標(biāo)題:手把手教你在RT-THREAD bsp上運(yùn)行pikascript腳本點(diǎn)亮小燈
文章出處:【微信號:RTThread,微信公眾號:RTThread物聯(lián)網(wǎng)操作系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論