![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STM32F4
文章平均质量分 81
dancebit
我若成魔 佛奈我何
展开
-
嵌入式lua之多线程操作移植三 lua FreeRTOS
然而,使用前章方法移植到FreeRTOS上后却各种不尽人意。辛辛苦苦搞了几个星期,先展示下效果吧!!!压力测试11个线程。led间隔100ms闪烁,10个打印线程正常。中途遇到的问题记录执行lua文件频繁时会返回如下错误:[#err : execute fail(1) cannot open 0:/TEST.LUA: No error (errno = 0)]原因:打开文件过快,会造成文件读取冲突,所以文件操作需要加上互斥锁。顺便一提,lua的锁lua_lock,lua..原创 2020-07-30 18:39:01 · 3284 阅读 · 2 评论 -
嵌入式lua之多线程操作移植 二 中断测试
继续上一章前面只能指定函数名实现函数传递,我的目的是随时注册线程,不需要要指定函数名。所以我希望C能保存lua传递进来的函数,在指定的地方调用该函数。参考博客:lua注册表和引用系统,LUA_REGISTRYINDEX、luaL_ref、luaL_unref的用途便确定两个函数,luaL_ref:存放函数到注册表中并返回引用lua_rawgeti:从注册表中读取该函数并调用lua注册函数程序及主线程程序local a = 0local function callbac.原创 2020-07-29 20:08:36 · 412 阅读 · 0 评论 -
嵌入式lua之多线程操作移植 一 中断测试
目的:在lua文本中灵活创建多线程函数,类似如下效果(来源合宙Luat)。底层通过FreeRTOS去实现多线程。-- 测试代码,用于发送消息给socketsys.taskInit( function() while true do sys.publish("pub_msg", "11223344556677889900AABBCCDDEEFF" .. os.time()) sys.wait(180000) en原创 2020-07-29 09:05:24 · 895 阅读 · 0 评论 -
lua移植到STM32F4全过程
基于之前了解到的Lua脚本开发功能,尝试过多次都没有很认真的做打底。之前的尝试都没能很好的应用到自己的工程里。elua东西太多并且是在linux下编译的,我很不适应,当然liunx涉及的不深。本次移植的条件及目标:本次的目标是能精简移植最纯洁版的lua框架,能够实现多文件(.lua)的联合调用 require / dofile。开发工具:Keil V5.29硬件平台:STM32F4探索者开发版移植下来发现lua和平台真的关系不大,就内存上面我还没搞懂他需要多少合适。...原创 2020-07-17 17:17:16 · 4580 阅读 · 0 评论 -
编码器正交解码 STM32F4
原理:当计数值向上溢出或者向下溢出时,对应增加和减少重装载的值 0xFFFF。 对此读取 (TIM1->CNT+abs_count)是为了防止中途被中断打断而破坏组包数据。不建议屏蔽中断去读取,查询过快时也会造成中断开启关闭过快,会造成系统实时性下降。static int abs_count = 0;//绝对位置void Speed_ENC(void){ GPI...原创 2020-03-06 17:59:22 · 1952 阅读 · 0 评论