- 博客(18)
- 收藏
- 关注
原创 Gui-Guider导出代码到esp32工程
在移植好lvgl框架,能正常显示和触摸后,使用Gui-Guider软件绘制ui界面,需要把其生成的代码导入esp32工程。
2025-01-05 11:23:31
437
原创 esp32 ——lcd篇
开发板上的液晶屏是2.0寸的IPS高清液晶屏,分辨率240*320,显示非常清晰。液晶屏驱动芯片ST7789,采用SPI通信方式与ESP32-C3连接。开发板上的触摸屏是电容触摸屏,用手指就可以触摸,支持双指触摸。触摸芯片型号是FT6336,使用I2C接口与ESP32-C3连接,I2C地址为0x38。
2025-01-04 15:53:13
689
原创 关于GD32F103RC串口波特率发现的PLL倍频问题
遇到问题描述:由于GD32F103RB的RAM不够使用,换用GD32F103RC芯片。3块板子换上了RC芯片,初始时,使用1号板子,它是能正常工作的,后面换用2,3号板子,上位机与之通信是不正常的,而且三者都是同样的代码烧录。经过示波器测量,不能正常工作的芯片约为设定的一半(换用不同的波特率多次测量)。上位机把波特率调到约为单片机设置波特率的一半,使能正常与单片机通信的。
2024-06-27 17:09:44
986
原创 设备树dts属性介绍
compatible属性是为了与驱动文件想匹配。假设某驱动的platform_driver中的compatible与设备树某节点的compatible一致,那么它们就会被关联起来。 属性值是字符串列表,推荐命名是"厂家,型号",像上面有多个字符串,匹配时是从左到右,假设没有"fsl,mpc8641"与之匹配,就会寻找"ns16550";假设找到"fsl,mpc8641",就相互匹配,就不会再找"ns16550"。
2023-11-21 20:16:53
924
1
原创 linux按键中断点灯——imx6ull
irq是终端号,handler是中断函数,flags是出发方式,有低电平触发,高电平触发,下降沿触发,上升沿触发,name是设置中断的名字,dev是传给中断函数的参数。irq是终端号,dev_id是传给中断函数的参数,与request_irq中的dev一样。添加接口供keydrv.c调用。在根节点添加以下节点。
2023-11-15 16:16:40
143
1
原创 led驱动——gpio和pinctrl子系统
pinctrl是用来指定引脚复用的和配置引脚(上下拉等等),引脚上的功能有很多,比如,串口,i2c等等。主要参考文档:在linux内核源码Documentation\devicetree\bindings\pinctrl\pinctrl-bindings.txt。2.init,exit,出口入口函数,在入口函数中注册platform_driver和在出口函数中反注册platform_driver。(3) class_create和device_create。(2)注册file_operations。
2023-11-13 16:28:42
239
原创 led驱动改造——设备树
platform_device和platform_driver的每一次配对都会调用probe函数,我们在设备树中定义了两个设备节点,所以会有两次调用。probe函数需要做的是引脚信息的存储和创建设备。把得到的arch/arm/boot/dts/100ask_imx6ull-14x14.dtb文件传输到imx6ull板子上,这里采用nfs。需要先学习platform_device与platform_driver是如何配对。在设备树文件下添加GROUP_PIN宏。在根节点下添加led节点。
2023-10-30 21:25:23
193
1
原创 LED——platform框架
在linux2.6以后的设备驱动模型中,需关心总线、设备和驱动这3个实体,总线将设备和驱动绑定。在系统没注册一个设备的时候,会寻找与之匹配的驱动,相反的,在系统每注册一个驱动的时候,会寻找与之匹配的设备,而匹配有总线完成。实现资源与驱动的分离。platform_device指定资源。
2023-10-25 16:57:01
75
1
原创 LED分层,分离的程设设计
具体请查看百问网资料,嵌入式linux应用开发手册v5.1,这里简单描述下分层:在leddrv驱动程序中,把led操作部分抽象出来,设计成led_operations对象,所以我们就不用管硬件部分的工作,只知道这个对象,然后就可以进行引脚的初始化和操作。分离:led是属于gpio的操作,假如有实现了一个板子的所有gpio相关配置chip_demo_gpio.c,我们只需要指定需要用到的那些引脚资源就行。
2023-10-24 20:17:47
92
原创 ubuntu的ip配置
eth0 接口地址会被指定为 192.168.5.11/24,默认网关是 192.168.5.1, DNS 服务器是 8.8.8.8。原文链接:https://www.imooc.com/article/275055。如果你想给网络设备分配一个静态 IP 地址,那就新建下面的配置文件。重启 systemd-networkd 服务或者重启机器。运行以下命令检查服务状态。
2023-10-23 16:50:24
2623
原创 linux系统编程笔记(二)——系统IO
dup函数是对旧的文件描述符复制,并放到文件数组序号最低的位置。比如,0,1,2,4,5有文件,dup(4)会把4位置上的指针复制到3上。read函数中,buf是存储空间,count是要读的字符个数,成功时返回的是读到的字符的个数,0表示已经读到文件末尾,错误时返回-1.write函数中,buf是要写的内容,count是要写的字符个数,返回成功写入的字符个数,0表示没有东西可写,错误时返回-1.文件描述符优先使用当前数组内可用的最小数,例如,0,1,2,4,5被占用了,下一个会存储到3,而不会存储到6.
2023-10-07 19:31:32
145
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人