Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
MicroPython
想在开发板上使用C调用python脚本,有什么方法吗?
发布于 2019-09-25 10:58:50 浏览:2394
订阅该版
开发板上有rtthread操作系统、Micropython软件包、文件系统,怎么实现在C语言中调用python脚本呢?在linux中,是可以使用PyImport_ImportModule等一系列函数的,在rtthread上有没有类似的方法?
查看更多
12
个回答
默认排序
按发布时间排序
bernard
2019-09-25
这家伙很懒,什么也没写!
这个倒也是的,C/Python之间的双向调用。然后再在Python中塞callback函数,变成后台事件触发的方式。。。
微www
2019-09-25
这家伙很懒,什么也没写!
>这个倒也是的,C/Python之间的双向调用。然后再在Python中塞callback函数,变成后台事件触发的方式。。。 ... --- emmm.我是新手,看不太懂你在说什么:'( ,可不可以把python交叉编译一下,搞成固件烧到班子里,就可以像在linux上那样使用了
我夏了夏天
认证专家
2019-09-25
Life isn't about finding yourself, life is about creating yourself.
>emmm.我是新手,看不太懂你在说什么 ,可不可以把python交叉编译一下,搞成固件烧到班子里,就可以像 ... --- Python 交叉编译想法不错,目前好像最多可以先编译成 mpy 文件然后运行
微www
2019-09-25
这家伙很懒,什么也没写!
>Python 交叉编译想法不错,目前好像最多可以先编译成 mpy 文件然后运行 --- 在linux上需要使C文件包含Python.h头文件,然后编译的时候需要链接python的lib库。 我的想法是:那在rtthread上,可不可以把python源码编译成适合板子的lib库。这样就可以用c调用python了。不过这样好像和micropython没有半毛钱关系了。
armink
2019-09-26
这家伙很懒,什么也没写!
可以参考 machine.Timer 的实现,里面有硬件定时器回调中执行 python 函数的代码
微www
2019-09-27
这家伙很懒,什么也没写!
>可以参考 machine.Timer 的实现,里面有硬件定时器回调中执行 python 函数的代码 ... 您好,请问是下面这个函数吗?我看着有点像。 ``` bool mp_sched_schedule(mp_obj_t function, mp_obj_t arg) { mp_uint_t atomic_state = MICROPY_BEGIN_ATOMIC_SECTION(); bool ret; if (MP_STATE_VM(sched_sp) < MICROPY_SCHEDULER_DEPTH) { if (MP_STATE_VM(sched_state) == MP_SCHED_IDLE) { MP_STATE_VM(sched_state) = MP_SCHED_PENDING; } MP_STATE_VM(sched_stack)[MP_STATE_VM(sched_sp)].func = function; MP_STATE_VM(sched_stack)[MP_STATE_VM(sched_sp)].arg = arg; ++MP_STATE_VM(sched_sp); ret = true; } else { // schedule stack is full ret = false; } MICROPY_END_ATOMIC_SECTION(atomic_state); return ret; } ```
我夏了夏天
认证专家
2019-09-27
Life isn't about finding yourself, life is about creating yourself.
>您好,请问是下面这个函数吗?我看着有点像。 --- 在一些实现 python 中断回调的情形中,好像是使用了 c 语言调用 python 代码的技巧。 [https://github.com/RT-Thread-packages/micropython/blob/e24f1e0cbccd28e1d0832555ca2a12f1bcef2488/port/modules/machine/machine_pin.c#L227](https://github.com/RT-Thread-packages/micropython/blob/e24f1e0cbccd28e1d0832555ca2a12f1bcef2488/port/modules/machine/machine_pin.c#L227) ``` STATIC void machine_pin_isr_handler(void *arg) { machine_pin_obj_t *self = arg; mp_sched_schedule(self->pin_isr_cb, MP_OBJ_FROM_PTR(self)); } ``` 就是这个函数了,执行 python 函数需要给出函数对象。
微www
2019-09-27
这家伙很懒,什么也没写!
>在一些实现 python 中断回调的情形中,好像是使用了 c 语言调用 python 代码的技巧。 > >https://github.co ... --- 这里执行的python函数不是执行的自己python脚本的函数吧。
我夏了夏天
认证专家
2019-09-27
Life isn't about finding yourself, life is about creating yourself.
>这里执行的python函数不是执行的自己python脚本的函数吧。 --- 是 python 脚本的函数,你玩玩定时器中断例程和引脚中断例程就知道了
微www
2019-09-29
这家伙很懒,什么也没写!
好的,谢谢啦!!(我能弱弱问一句你说的这俩例程在哪吗?)
撰写答案
登录
注册新账号
关注者
0
被浏览
2.4k
关于作者
微www
这家伙很懒,什么也没写!
提问
1
回答
8
被采纳
0
关注TA
发私信
相关问题
1
请问rt-thread有没有移植micropython呢
2
micropython import 文件名的方式执行脚本问题
3
第一篇:Micropython 的起源和发展
4
第二篇:RT-Thread Micropython 简介
5
第三篇:RT-Thread Micropython 快速入门
6
第四篇:Micropython DIY 项目汇总
7
第五篇:Micropython 教程和资源
8
第六篇: RT-Thread MicroPython 学习经验和学习路线
9
RT-Thread MicroPython 最新开发板固件汇总【已失效】
10
有Mpy专门的板块啦~
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
freemodbus主机在freertos的适配,参考rtthread例程
2
开源共生 商业共赢 | RT-Thread 2024开发者大会议程正式发布!
3
【24嵌入式设计大赛】基于RT-Thread星火一号的智慧家居系统
4
RT-Thread EtherKit开源以太网硬件正式发布
5
还在担心bsp不好维护吗?快使用yml管理主线bsp
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
UART
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
rt_mq_消息队列_msg_queue
keil_MDK
ulog
MicroPython
C++_cpp
本月问答贡献
a1012112796
20
个答案
3
次被采纳
张世争
12
个答案
3
次被采纳
踩姑娘的小蘑菇
7
个答案
3
次被采纳
用户名由3_15位
13
个答案
2
次被采纳
rv666
9
个答案
2
次被采纳
本月文章贡献
程序员阿伟
9
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
RTT_逍遥
1
篇文章
7
次点赞
大龄码农
1
篇文章
5
次点赞
ThinkCode
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部