04 2020 档案
摘要:1.功能需求 通过QT,编写一个库。库的作用是上层直接调用库的函数,并且传参。库函数根据下位机的通信协议,将数据进行封装。通过串口将数据发送给下位机。下位机获得数据后,会对数据进行解析,再通过串口应答一帧数据。库函数再对数据进行解析,提取上层需要的数据,以返回值的形式传递给上层。 2.实现步骤 1.
阅读全文
摘要:1.创建C++库 1.1点击New Project 1.2选择库模板 选择“Library”中的”C++库”,再点击“Choose”。 1.3选择共享库 给共享库取个名称,并指定生成文件存放路径。再点击“下一步”。 1.4选择编译器 再点击“下一步”。 1.5选择所需要的模块 默认选择QtCore(
阅读全文
摘要:1.参考文档 a. 内核 Documentation\devicetree\bindings\Pinctrl\ 目录下: Pinctrl-bindings.txt b. 内核 Documentation\gpio 目录下: Pinctrl-bindings.txt c. 内核 Documentati
阅读全文
摘要:1.sprintf函数原型 #include <stdio.h> int sprintf(char *string, char *format [,argument,...]); 参数列表 string-- 这是指向一个字符数组的指针,该数组存储了 C 字符串。 format-- 这是字符串,包含了
阅读全文
摘要:1.例程 #include<stdio.h>#include<string.h> int main(void) { char a[10]="123"; char b[10]="abc"; strcat(a,b); //连接两个字符串,连接后的字符串存袭放在a中,数组a中有足够空间 printf("%
阅读全文
摘要:1.内核配置 >Device Drivers >Watchdog Timer Support >WatchDog Timer Driver Core[*] >Software watchdog[*] 编译烧录内核,然后在板卡上面可以看到/dev/watchdog 2.看门狗编程 喂狗、喂狗时间设置、
阅读全文
摘要:1.问题 main.h #ifndef _MAIN_H #define _MAIN_H unsigned char i; #endif main.c #include "main.h" main() { ; } a.c #include "main.h" 略 然后编译a.c和main.c,就会提示S
阅读全文
摘要:1.APP读取按键的方式 查询方式 休眠—唤醒方式 poll方式 异步通知方式 1.1 查询方式 驱动程序中构造、注册一个 file_operations 结构体,里面提供有对应的 open,read 函数。APP 调用 open 时,导致驱动中对应的 open 函数被调用,在里面配置 GPIO 为
阅读全文
摘要:1、前言 Linux内核中的设备驱动模型,是建立在sysfs设备文件系统和kobject上的,由总线(bus)、设备(device)、驱动(driver)和类(class)所组成的关系结构,在底层,Linux系统中的每个设备都有一个device结构体的实例,本文将对Linux内核的device结构体
阅读全文
摘要:1.三种写驱动程序的方法 1.1资源和驱动在同一文件里 1.2资源用platform_device指定,驱动在platform_driver实现 1.3资源用设备树指定,驱动在platform_driver实现 以上三种的核心是file_operations结构体,不同的是指定硬件资源的方式。 2.
阅读全文