国产久操视频-国产久草视频-国产久热精品-国产久热香蕉在线观看-青青青青娱乐-青青青青在线成人视99

  • 正文
  • 附件下載
  • 推薦器件
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

LPC55S69移植PikaPython,體驗(yàn)python腳本編程

2024/05/15
2983
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

首先介紹下PikaPython

PikaPython 是一個(gè)完全重寫(xiě)的超輕量級(jí) python 引擎,零依賴,零配置,可以在 Flash ≤ 64KB,RAM≤ 4KB 的平臺(tái)下運(yùn)行(如 stm32g030c8 和 stm32f103c8),極易部署和擴(kuò)展,具有大量的中文文檔和視頻資料。

PikaPython 具有框架式 C 模塊開(kāi)發(fā)工具,只要用 Python 寫(xiě)好調(diào)用 API ,就能夠自動(dòng)連接到 C 模塊,非常方便快捷。不用手動(dòng)處理任何全局表、宏定義、等等。

PikaPython 也支持 MDK、iar、RT-studio 等常見(jiàn) ide 開(kāi)發(fā),能夠輕松地調(diào)試 C 模塊。

開(kāi)源項(xiàng)目地址:

https://gitee.com/Lyon1998/pikapython

https://github.com/pikasTech/PikaPython

文檔中心:

http://pikascript.com/doc/index.html

下面開(kāi)始基于KEIL的pack包方式移植,移植過(guò)程很簡(jiǎn)單。其實(shí)項(xiàng)目的文檔中心有詳細(xì)的各種移植步驟。

首先要準(zhǔn)備一個(gè)正常的LPC55S69的UART輸入輸出的工程。

如下打開(kāi)keil的pack包,選擇STDOUT打勾的地方。

然后添加函數(shù),這樣就可以實(shí)現(xiàn)printf輸出了。

int stdout_putchar (int ch) {
PUTCHAR(ch);
return (ch);
}

下一步,打開(kāi)http://pikascript.com/doc/index.html 文檔中心,找到如圖下位置,下載PikaPython的keil Pack包。

然后按照文檔內(nèi)容操作。文檔內(nèi)寫(xiě)的步驟很詳細(xì)。包括安裝Pack包,添加到工程中。加入初始化。然后編譯。

在 Before Build 加入

.RTEPikaScriptpikaBeforBuild-keil.bat

然后在 main.c 引入

#include "pikaScript.h"

在初始化系統(tǒng)和 printf 后啟動(dòng) PikaScript

PikaObj *pikaMain = pikaScriptInit();

這樣就可以編譯成功了。不過(guò)要注意,第一次編譯因?yàn)橐獔?zhí)行編譯前那個(gè)批處理,需要下載軟件倉(cāng)庫(kù),會(huì)等待很長(zhǎng)時(shí)間。后面編譯就好快了。

完成以上步驟編譯下載后就可以看到串口輸出了

下面添加交互處理。在初始化之后加入

下一句代碼

pikaScriptShell(pikaMain);

int main(void)
{
char ch;
/* Init board hardware. */
/* set BOD VBAT level to 1.65V */
POWER_SetBodVbatLevel(kPOWER_BodVbatLevel1650mv, kPOWER_BodHystLevel50mv, false);
/* attach main clock divide to FLEXCOMM0 (debug console) */
CLOCK_AttachClk(BOARD_DEBUG_UART_CLK_ATTACH);

BOARD_InitBootPins();
BOARD_InitBootClocks();
BOARD_InitBootPeripherals();
BOARD_InitDebugConsole();
SysTick_Config(SystemCoreClock/1000);

printf("PikaPython Testrn");

PikaObj *pikaMain = pikaScriptInit();
pikaScriptShell(pikaMain);
while (1)
{
ch = GETCHAR();
PUTCHAR(ch);
}
}

然后要實(shí)現(xiàn)一個(gè)阻塞的讀串口,接收串口字節(jié)函數(shù)。

char __platform_getchar(){
return GETCHAR();
}

完成后編譯下載就OK了。

文檔中心也有說(shuō)明,如下圖:

下面是測(cè)試簡(jiǎn)單的交互輸出

整個(gè)移植就完成了。后面看看添加一些外設(shè)控制驅(qū)動(dòng)。

工程 lpc55s69_PikaPython.zip (15.56 MB, 點(diǎn)擊下方附件下載)

  • lpc55s69_PikaPython.zip
    下載

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
TLP185(GB,SE 1 Toshiba America Electronic Components TRANSISTOR OUTPUT OPTOCOUPLER

ECAD模型

下載ECAD模型
$0.39 查看
ABS07-32.768KHZ-1-T 1 Abracon Corporation Parallel - Fundamental Quartz Crystal, 0.032768MHz Nom, ROHS COMPLIANT, CERAMIC, SMD, 2 PIN

ECAD模型

下載ECAD模型
$0.9 查看
AFBR-79EQDZ 1 Foxconn Transceiver, 840nm Min, 860nm Max, MTP Connector, Panel Mount, ROHS COMPLIANT, PACKAGE-38
$113.6 查看

相關(guān)推薦

南安市| 新河县| 石河子市| 桐柏县| 长垣县| 五指山市| 曲靖市| 凤山县| 香港| 措美县| 溧阳市| 汝南县| 江华| 蒙山县| 长汀县| 静宁县| 井研县| 蓬安县| 甘孜县| 徐汇区| 滦南县| 巴里| 腾冲县| 遂平县| 寿阳县| 日照市| 淮北市| 宁化县| 黄陵县| 东台市| 呈贡县| 新昌县| 中宁县| 万州区| 三门峡市| 蕲春县| 广昌县| 临清市| 南川市| 科尔| 比如县|