加入星計劃,您可以享受以下權益:

  • 創(chuàng)作內容快速變現
  • 行業(yè)影響力擴散
  • 作品版權保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
  • 相關文件
  • 推薦器件
  • 相關推薦
  • 電子產業(yè)圖譜
申請入駐 產業(yè)圖譜

LPC55S69移植PikaPython,體驗python腳本編程

05/15 08:09
2884
閱讀需 6 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

首先介紹下PikaPython

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

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

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

開源項目地址:

https://gitee.com/Lyon1998/pikapython

https://github.com/pikasTech/PikaPython

文檔中心:

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

下面開始基于KEIL的pack包方式移植,移植過程很簡單。其實項目的文檔中心有詳細的各種移植步驟。

首先要準備一個正常的LPC55S69的UART輸入輸出的工程。

如下打開keil的pack包,選擇STDOUT打勾的地方。

然后添加函數,這樣就可以實現printf輸出了。

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

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

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

在 Before Build 加入

.RTEPikaScriptpikaBeforBuild-keil.bat

然后在 main.c 引入

#include "pikaScript.h"

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

PikaObj *pikaMain = pikaScriptInit();

這樣就可以編譯成功了。不過要注意,第一次編譯因為要執(zhí)行編譯前那個批處理,需要下載軟件倉庫,會等待很長時間。后面編譯就好快了。

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

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

下一句代碼

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);
}
}

然后要實現一個阻塞的讀串口,接收串口字節(jié)函數。

char __platform_getchar(){
return GETCHAR();
}

完成后編譯下載就OK了。

文檔中心也有說明,如下圖:

下面是測試簡單的交互輸出

整個移植就完成了。后面看看添加一些外設控制驅動。

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

  • lpc55s69_PikaPython.zip

推薦器件

更多器件
器件型號 數量 器件廠商 器件描述 數據手冊 ECAD模型 風險等級 參考價格 更多信息
ABS10-32.768KHZ-9-T 1 Abracon Corporation CRYSTAL 32.7680KHZ 9PF SMD

ECAD模型

下載ECAD模型
$0.85 查看
FOD420SD 1 onsemi Random Phase Snubberless Triac Driver, 1000-REEL
$2.69 查看
AT27C256R-70PU 1 Atmel Corporation OTP ROM, 32KX8, 70ns, CMOS, PDIP28, 0.600 INCH, GREEN, PLASTIC, MS-011AB, DIP-28

ECAD模型

下載ECAD模型
$2.54 查看

相關推薦

電子產業(yè)圖譜