自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lishen的博客

Linux,embeded

  • 博客(13)
  • 资源 (7)
  • 收藏
  • 关注

原创 lis3dh对接rt-thread sensor框架

LIS3DH芯片的FIFO支持两种模式:一种Steam模式,读取不及时时芯片会丢弃最老的数据,保留最新的数据;一种是FIFO模式,读取不及时芯片会停止更新FIFO。我们的系统需要连续的获取传感器数据,不希望丢失数据因此使用FIFO模式。但是为了避免因为调试或数据传输阻塞等情况造成的FIFO停止更新的情况,增加了一个自定义命令RT_SENSOR_CTRL_RESET_FIFO,用于在读取不到数据时重置FIFO恢复正常的数据更新。

2022-02-05 13:01:01 3723 1

原创 at_device sim7670驱动支持gps信息获取、基站定位、低功耗

针对官方驱动,我们做了哪些修改1、修改了电源管理引脚的定义。2、sim76xx_netdev_set_info函数中获取IP地址时增加重试,避免网络条件不好的时候获取IP地址慢导致整体失败。3、修改sim76xx_init_thread_entry注释掉AT+CREG?过程,直接使用AT+CGREG?检测网络状态,电信卡来说AT+CREG总是失败。4、修改sim76xx_init_thread_entry把设置PDP context放在检查网络状态之前。5、增加控制GPS电源开关和获取GPS坐标的

2022-02-05 12:59:31 1291 1

原创 rt_thread hc32f460开发五:wdt驱动移植

hc32f460看门狗的时钟来自PLCK3,根据自己的频率设置分频系数和计数器的数值就可以了。hc32f60的计数器是16bit的,所以把看门狗的时钟分频道xKHZ的级别,一般就可以提供几十毫秒至几秒钟的时间。我们的项目中处理器运行在100MHZ,PLCK3对应为25M,分频2048,计数器4096,大约提供335ms的超时时间。

2022-02-05 12:57:02 1121 1

原创 rt_thread hc32f460开发四:pwm驱动移植

1、编写通用的和板级电路无关的驱动代码drv_pwm.c,这部分驱动尽量覆盖片内外设的所有通道。2、编写板级相关的代码,放在board_config.c中,板级初始化的代码完成初始化具体引脚等功能,通常由RT_USING_XXX这样的配置宏来控制编译。3、修改编译控制文件和配置选项,把驱动加入系统中。4、编写使用该驱动的代码实现驱动查找和调用。

2022-02-05 12:56:13 4956 2

原创 rt_thread hc32f460开发三:spi驱动移植

1、编写通用的和板级电路无关的驱动代码drv_spi.c,这部分驱动尽量覆盖片内外设的所有通道。2、编写板级相关的代码,放在board_config.c中,板级初始化的代码完成初始化具体引脚等功能,通常由RT_USING_XXX这样的配置宏来控制编译。3、修改编译控制文件和配置选项,把驱动加入系统中。4、编写使用该驱动的代码实现驱动查找和调用。

2022-02-05 12:55:00 1219 2

原创 rt_thread hc32f460开发二:adc驱动移植

开发要做的工作大致有如下四部分:1、编写通用的和板级电路无关的驱动代码drv_adc.c,这部分驱动尽量覆盖片内外设的所有通道。2、编写板级相关的代码,放在board_config.c中,板级初始化的代码完成初始化具体引脚等功能,通常由RT_USING_XXX这样的配置宏来控制编译。3、修改编译控制文件和配置选项,把驱动加入系统中。4、编写使用该驱动的代码实现驱动查找和调用。

2022-02-05 12:52:52 1359 2

原创 rt_thread hc32f460开发一:工程建立和注意事项

HC32F460是目前比供货和价格都比较理想的单片机。但是F460属于正向研发其外设寄存器布局也就是开发方式和传统的STM32的开发方式有一定差异。且RT-Thread中对HC32F460的支持非常基础,仅有GPIO、NVIC和SysTick。本系列文章介绍HC32F460几种外设的移植方式。本文章介绍代码都再实际项目中应用。

2022-02-05 12:43:32 1496

原创 关于libeio相关文章的几点补充

网上有很多介绍libeio的文章(Google中搜索libeio,可以搜到《libeio-异步I/O库初窥-奋斗小子的专栏-博客频道-CSDN.NET》、《Node.js代码阅读笔记之libeio- CNode》等),但是对demo程序的讲解不是很细致,这里我有点心得补充,希望给看不懂原文的朋友一些帮助。1、libeio也是使用多线程来实现异步IO的。简化demo中want_poll和do

2013-05-04 19:51:56 932

原创 Lua和C语言的交互(三)

自定义数据类型: 我们通过使用C语言实现一个Lua数组来演示Lua实现自定义用户数据。数组的结构如下所示:typedef struct NumArray{ int size; //表示数组的大小 double values[]; //此处的values仅代表一个double*类型的指针,values指向NumArray结构后部紧跟的数据的地址}

2013-03-23 17:09:28 949

原创 Lua和C语言的交互(二)

C调用Lua函数不要怀疑,对Lua函数的调用也是通过栈来进行的。请看如下代码:Lua代码:function lua_func (x, y) print("Parameters are: ", x, y) return (x^2 * math.sin(y))/(1-x) end C代码:double c_func(lua_State *L,

2013-03-12 21:06:56 890

原创 Lua和C语言的交互(一)

Lua生来就是为了和C交互的,因此使用C扩展Lua或者将Lua嵌入到C当中都是非常流行的做法。要想理解C和Lua的交互方式,首先要回顾一下C语言是如何处理函数参数的。C函数和参数大家知道C语言是用汇编实现的,在汇编语言中可没有函数的概念,与函数对应的是叫做子过程的东西,子过程就是一段指令,一个子过程与它调用的子过程之间通过栈来进行参数的传递交互。在一个子过程在调用别的子过程之前,会

2013-03-09 21:29:29 1203

原创 Lua和NodeJS

编程模型的思考一年前,迷恋了NodeJS一段时间,因为换工作的原因一年多没有再关注。但是NodeJS这种单线程全异步的编程模型给了我很多启发,在大多数情况下可以极大的简化程序的编写并保持相对较高的性能。其实大多数的应用场景也都是遵循20-80原则的。即百分之20的流程花费了百分之80的时间,剩余百分之80的的流程只花费百分之20的时间。而花费时间比较多的流程又分为CPU密集型和IO密集型,对于

2013-02-02 22:35:05 3627

原创 MK808 vs Raspberry Pi

前一段时间买了Raspberry Pi和国产的Android电脑MK808,对比如下:硬件规格: MK808RaspberryPiCPU:Cortext A9 1.2GHZ dual单核600MHZ arm V6Memory:1G512MInternal Storage:4G flashnoneEx

2013-01-31 21:33:17 892

Hardfault错误信息的挖掘

原创的,hardfault错误信息挖掘方法,内附错误处理函数的代码。

2016-01-04

APCS官方文档

APCS官方文档 全称是Procedure Call Standard for the ARM Architecture。官方网站隐藏的比较深,这里贴出来方便大家下载。 需要写ARM汇编的人都会用到。

2015-05-22

一篇很详细的讲解FAT文件系统原理的文档

一篇很详细的讲解FAT文件系统原理的文档,神州开发板自带的。通过此文档可以理解FAT文件系统和磁盘扇区的结构。

2013-11-07

LC6311硬件接口手册

LC6311硬件接口手册的硬件接口手册,不太容易找到的。

2013-10-17

Palm WebOS

Palm webOS奥莱利出版的官方开发教材

2010-12-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除