- 博客(15)
- 资源 (1)
- 收藏
- 关注
原创 linux驱动开发(一):ioctl()函数
一、应用程序中的ioctl接口首先,我们需要规定一些命令码,这些命令码在应用程序和驱动程序中需要保持一致。应用程序只需向驱动程序下发一条指令码,用来通知它执行哪条命令。如何解读这条指令和怎么实现相关操作,就是驱动程序自己要做的事。应用程序的接口函数为ioctl,参考,函数原型为下面我们解释各个参数的含义。1)fd是文件描述符。当我们的设备作为特殊文件被open()函数打开后,会返回一个文件描述符,通过操作这个文件描述符达到操作设备文件的目的。
2024-06-03 13:45:20 1306 1
原创 第十五届蓝桥杯嵌入式模拟题三
② 在“标准设置界面”下,定义为“加”按键,按下按键B3,选择的产品标准上限或下限加0.2,产品标准上限加顺序如图7.1所示。② 在“标准设置界面”下,定义为“减”按键,按下按键B4,选择的产品标准上限或下限减0.2,产品标准上限减顺序如图8.1所示。② 在“标准设置界面”下,定义为“选择”按键,选择需要调整产品R37、产品R38的检测标准上限或下限,选择顺序如图6所示。1)B1:定义为“切换”按键,按下按键B1,切换“产品参数界面”、“标准设置界面”和“合格率界面”,切换顺序如图5所示。
2024-04-06 23:26:44 1126 1
原创 第十二届蓝桥杯嵌入式真题
i < 8;i++)if(!if(!return i;for(i = 0;i < 8;if(pos!= 0xff)//不能入库if( y > 99 || m > 12 || d > 31 || h > 23 || p > 59 || s > 59)//时间错误elseelse{h+=1;if(!data.c--;else if(!
2024-04-03 15:53:57 201 1
原创 第十四届蓝桥杯真题
在数据界面下,长按B4按键超过2秒后松开(长按键),可以“锁定”占空比调整功能,此时输出信号占空比保持不变,不受R37电位器输出电压控制;处于“锁定”状态后,再次按下B4按键(短按键),实现“解锁”功能,恢复R37电位器对输出信号占空比的控制。在参数界面下,按下B2按键,切换选择R或K参数。输出模式以“H”表示高频模式、“L”表示低频模式,模式切换未完成前,屏幕显示的输出模式保持不变。1)B1:定义为“界面”按键,按下Bl按键可以往复切换数据、参数和记录三个界面,切换模式如下图所示。
2024-04-01 20:03:27 1103
原创 第十五届蓝桥杯嵌入式模拟题二
在“睡眠界面”下,发送命令‘B1’、‘B2’和‘B3’界面切换到“数据界面”,且当前命令仅作唤醒“数据界面”使用,不触发功能。(4)在“睡眠界面”下,按下按键B1、B2或B3切换到“数据界面”,且当前按键动作仅作唤醒“数据界面”使用,不触发按键功能。1)B1:定义为“模式”按键,在数据界面下,按下B1按键,切换自动控制模式和手动控制模式。2)B2:定义为“档位加”按键,在“手动控制”模式下,按下B2按键,调整当前档位。3)B3:定义为“档位减”按键,在“手动控制”模式下,按下B3按键,调整当前档位。
2024-03-29 15:43:30 1183 2
原创 Linux内核移植
编译成功会在arch/arm/boot目录下生成zImage文件,在arch/arm/boot/dts/目录下生成imx_my_emmc.dtb文件。开发板通电进入uboot命令行模式,通过tftp命令下载将zImage和imx_my_emmc.dtb,这两个文件下载并启动。启动u-boot时设置一下参数,更换根文件系统nfs地址和tftp下载的地址。此节点下添加网络复位引脚信息,添加完成以后的“的网络时钟引脚配置,继续在。”的这两个节点,修改其中的。源码,将其移植到正点原子。是设备树源码文件,编译。
2023-12-13 21:16:47 211
原创 C语言函数传递连续空间涵义以及地址传递函数的只读性,和读写特性
上面这个函数的输入参数为:const char *buf,说明这一段空间是只读可性不能被修改,否者出现段错误。上面这个函数的输入参数为:char *buf,说明这一段空间是读写特性,给用户可读可写。
2023-12-11 16:10:00 95 1
原创 stm32 串口处理多种数据帧
2.创建一个数组去接包,例如接受到0xfe为包头,接下来就是有效数据,接收到0X55就代表结束,说明这这一帧数据代表有效,对应在main.c里面拆包去拿出所需要的值,这样有个问题,收到的数据不一定是客户想要的,应该加上CRC校验才是完美的。通过以上例子对串口的使用更加深刻。
2023-12-07 21:01:21 271 1
原创 U-BOOT移植的第一天
先在 configs 目录下创建默认配置文件,复制 mx6ull_14x14_evk_emmc_defconfig,然后重。也可以看mx6ull_emmc文件夹对应的mx6ull_emmc.c有没有生成mx6ull_emmc.o有没有生成。中每个板子都有一个对应的文件夹来存放板级文件,比如开发板上外设驱动文件等。编写sh脚本方便编译,第三行一定要填写自己的配置文件。以上就完成自己的开发帮添加,接下来就是LCD屏幕。的图形界面配置下一章会详细的讲解。接下来我们要在u-boot添加自己的开发板。
2023-12-04 17:06:50 52
原创 结构体与共用体的区别
内部的变量地址自增。在我们定义的结构体ComInfo中,command变量、valid_data变量、device_info变量使用同一片内存空间,地址连续。内部的变量使用同一个首地址。在我们定义的共用体里面,有两个变量,一个是rec_buf,一个是ComInfo,所以,它俩的内存首地址是相同的。
2023-05-26 08:58:02 83 1
stm32c8t6避障小车
2022-07-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人