chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

單片機(jī)腳本語言移植lua到stm32MDK的步驟

汽車玩家 ? 來源:cnblogs ? 作者:cnblogs ? 2021-07-22 16:54 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Lua是一個小巧的腳本語言。作者是巴西人。該語言的設(shè)計目的是為了嵌入應(yīng)用程序中,從而為應(yīng)用程序提供靈活的擴(kuò)展和定制功能。

Lua腳本能夠非常easy的被C/C++ 代碼調(diào)用,也能夠反過來調(diào)用C/C++的函數(shù),這使得Lua在應(yīng)用程序中能夠被廣泛應(yīng)用。不只作為擴(kuò)展腳本,也能夠作為普通的配置文件,取代XML,Ini等文件格式,而且更easy理解和維護(hù)。

Lua的目標(biāo)是成為一個非常easy嵌入其他語言中使用的語言。大多數(shù)程序猿也覺得它的確做到了這一點。

非常多應(yīng)用程序使用LUA作為自己的嵌入式腳本語言,以此來實現(xiàn)可配置性、可擴(kuò)展性。這當(dāng)中包含魔獸世界、博德之門、憤慨的小鳥、VOCALOID3 等。

MDK下lua移植到stm32

移植lua

  • l 加入?lua源代碼到MDK,把lua.c 和luac.c刪除。

l 改動堆棧大小:堆最小為5.5kb,棧最小是1.5kb。lua的空間分配在堆空間。16kb的內(nèi)存建議分配是堆11Kb,棧4Kb,留1Kb給全局變量。

在startup_stm32f10x_md.s文件里

; stack size 0x1000 == 4Kb

Stack_Size EQU 0x00001000

; heap size 0x2c00 == 11Kb

Heap_Size EQU 0x00002C00

  • l 重寫標(biāo)準(zhǔn)庫底層函數(shù)

typedef int FILEHANDLE;

#pragma import(__use_no_semihosting_swi)

#pragma import(_main_redirection)

const char __stdin_name[150];

const char __stdout_name[150];

const char __stderr_name[150];

FILEHANDLE _sys_open(const char *name, intopenmode)

{

return0;

}

int _sys_close(FILEHANDLE fh)

{

return 0;

}

int _sys_write(FILEHANDLE fh, constunsigned char *buf, unsigned len, int mode)

{

return0;

}

int _sys_read(FILEHANDLE fh, unsigned char*buf, unsigned len, int mode)

{

return0;

}

  • //檢查句柄是否為終端

int _sys_istty(FILEHANDLE fh)

{

return0;

}

int _sys_seek(FILEHANDLE fh, long pos)

{

return0;

}

  • //刷新句柄關(guān)聯(lián)的緩沖區(qū)

int _sys_ensure(FILEHANDLE fh)

{

return0;

}

  • //返回文件當(dāng)前長度

long _sys_flen(FILEHANDLE fh)

{

return0;

}

void _sys_exit(int status)

{

//while(1);

}

int _sys_tmpnam(char *name, int fileno, unsignedmaxlength)

{

return0;

}

  • //將一個字符寫入控制臺

void _ttywrch(int ch)

{

}

int remove(const char *filename)

{

return0;

}

char *_sys_command_string(char *cmd, intlen)

{

return NULL;

}

static int lua_led_on(lua_State *L)

{

GPIO_ResetBits(GPIOC,GPIO_Pin_13);

return1;

}


文章整合自:cnblogs

編輯:ymf

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6074

    文章

    45453

    瀏覽量

    667067
  • C語言
    +關(guān)注

    關(guān)注

    183

    文章

    7642

    瀏覽量

    145116
  • 腳本語言
    +關(guān)注

    關(guān)注

    0

    文章

    48

    瀏覽量

    8540
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    LuatOS-Air腳本移植LuatOS版本注意事項

    一、lua版本不一樣 LuatOS-Air使用的是lua5.1版本,本身不支持位移運(yùn)算符。 LuatOS使用的是lua5.3版本,取消了module(..., package.seeall)這種形式
    的頭像 發(fā)表于 01-17 14:48 ?1040次閱讀
    LuatOS-Air<b class='flag-5'>腳本</b><b class='flag-5'>移植</b><b class='flag-5'>到</b>LuatOS版本注意事項

    為什么單片機(jī)還在用C語言編程?

    最適合單片機(jī)開發(fā)的編程語言實在太過晦澀難懂,學(xué)習(xí)起來非常的不方便,并且每一種單片機(jī)的匯編指令有很大區(qū)別,所以想把一個程序從這種單片機(jī)移植
    發(fā)表于 11-28 07:37

    LUA例程-常用的回調(diào)函數(shù)使用說明

    詳細(xì)說明LUA腳本函數(shù)功能和對應(yīng)的應(yīng)用實例。對于LUA腳本編程有很大的幫助和提高技能。
    發(fā)表于 11-24 16:43 ?0次下載

    C語言單片機(jī)C語言有什么差異

    單片機(jī)c語言相對于普通C語言增加了一些基本的指令,還有變量的賦值是16進(jìn)制,當(dāng)然單片機(jī)c語言只牽涉
    發(fā)表于 11-14 07:55

    學(xué)單片機(jī)的誤區(qū)

    怎么使用,根本也記不住寄存器的用途。 單片機(jī)完成一個具體的功能涉及哪些寄存器,都會有例子給出,有些單片機(jī),生產(chǎn)廠家也會給出相關(guān)的子程序,你只需要調(diào)用就可以。 等你把這些基礎(chǔ)知識學(xué)完以后,幾乎可以完成
    發(fā)表于 11-14 07:46

    大彩講堂:VisualHMI-LUA教程-獲取與設(shè)置32位數(shù)據(jù)函數(shù)的應(yīng)用

    一、適合范圍本文檔適用于VisualHMI平臺,Lua腳本語言為V5.3版本,配合工程可以完成大部分的內(nèi)部邏輯處理。二、概述2.1.get_uint32(vtype,addr)讀取無符號整形寄存器
    的頭像 發(fā)表于 10-15 17:46 ?1158次閱讀
    大彩講堂:VisualHMI-<b class='flag-5'>LUA</b>教程-獲取與設(shè)置32位數(shù)據(jù)函數(shù)的應(yīng)用

    大彩講堂:VisualHMI-LUA教程-獲取和設(shè)置16位數(shù)據(jù)函數(shù)

    一、適合范圍本文檔適用于VisualHMI平臺,Lua腳本語言為V5.3版本,配合工程可以完成大部分的內(nèi)部邏輯處理。二、概述2.1get_uint16(vtype,addr)讀取無符號短整型寄存器
    的頭像 發(fā)表于 10-13 16:40 ?1192次閱讀
    大彩講堂:VisualHMI-<b class='flag-5'>LUA</b>教程-獲取和設(shè)置16位數(shù)據(jù)函數(shù)

    怎么測單片機(jī)系統(tǒng)頻率

    ,各有其特點和操作要點。 示波器測量法 示波器是測量單片機(jī)系統(tǒng)頻率的常用工具,其原理是通過捕捉單片機(jī)輸出的周期性信號,根據(jù)信號的周期計算頻率。 操作步驟 首先,確定單片機(jī)的時鐘輸出引腳
    的頭像 發(fā)表于 07-25 11:39 ?614次閱讀

    大彩講堂:VisualHMI-LUA教程-on_run回調(diào)函數(shù)使用指南

    一、適合范圍本文檔適用于VisualHMI平臺,Lua腳本語言為V5.3版本,配合工程可以完成大部分的內(nèi)部邏輯處理。二、概述on_run(screen)周期回調(diào)函數(shù),用該回調(diào)函數(shù),會根據(jù)設(shè)定的時間
    的頭像 發(fā)表于 07-23 15:25 ?1026次閱讀
    大彩講堂:VisualHMI-<b class='flag-5'>LUA</b>教程-on_run回調(diào)函數(shù)使用指南

    機(jī)智云配網(wǎng)教程第三期:單片機(jī)代碼移植實戰(zhàn)

    前言本篇文章將分享單片機(jī)移植的經(jīng)驗。可以下載并按步驟移植,也可以直接使用已移植好的工程文件。文中將介紹我在
    的頭像 發(fā)表于 07-01 17:32 ?1206次閱讀
    機(jī)智云配網(wǎng)教程第三期:<b class='flag-5'>單片機(jī)</b>代碼<b class='flag-5'>移植</b>實戰(zhàn)

    STM32與機(jī)智云連接實現(xiàn)步驟與技巧(下篇):機(jī)智云代碼移植與優(yōu)化

    在《STM32與機(jī)智云連接實現(xiàn)步驟與技巧(上篇)》中,我們介紹了硬件連接和通信協(xié)議配置。本篇將重點講解如何將機(jī)智云相關(guān)代碼移植STM32,
    的頭像 發(fā)表于 05-23 18:10 ?966次閱讀
    <b class='flag-5'>STM32</b>與機(jī)智云連接實現(xiàn)<b class='flag-5'>步驟</b>與技巧(下篇):機(jī)智云代碼<b class='flag-5'>移植</b>與優(yōu)化

    單片機(jī)c語言編程實例大全

    單片機(jī)c語言編程實例大全_18
    發(fā)表于 04-30 16:11 ?7次下載

    STM32F10xxx單片機(jī)編程手冊

    電子發(fā)燒友網(wǎng)站提供《STM32F10xxx單片機(jī)編程手冊.pdf》資料免費(fèi)下載
    發(fā)表于 04-14 14:56 ?17次下載

    STM32F103x8 STM32F103xB單片機(jī)數(shù)據(jù)手冊

    STM32F103x8STM32F103xB單片機(jī)數(shù)據(jù)手冊
    發(fā)表于 04-14 14:55 ?8次下載

    STM32單片機(jī)最小系統(tǒng)電路設(shè)計

    單片機(jī)最小系統(tǒng)是指用最少的電路組成單片機(jī)可以工作的系統(tǒng),通常最小系統(tǒng)包含:電源電路、時鐘電路、復(fù)位電路、調(diào)試/下載電路,對于STM32還需要啟動選擇電路??傊?,剛開始如果不太懂電路的話,就抄別人的電路,然后自己拼湊。
    的頭像 發(fā)表于 03-12 14:09 ?1.9w次閱讀
    <b class='flag-5'>STM32</b><b class='flag-5'>單片機(jī)</b>最小系統(tǒng)電路設(shè)計