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