- 博客(43)
- 收藏
- 关注
原创 cortex-m3内核中断配置
https://wenku.baidu.com/view/c1348c38591b6bd97f192279168884868662b841.html
2020-04-14 10:09:39
567
原创 驱动编译进内核和编译模块
2.6内核的源码树目录下一般都会有两个文文:Kconfig和Makefile。分布在各目录下的Kconfig构成了一个分布式的内核配置数据库,每个Kconfig分别描述了所属目录源文件相关的内核配置菜单。在内核配置make menuconfig(或xconfig等)时,从Kconfig中读出配置菜单,用户配置完后保存到.config(在顶层目录下生成)中。在内核编译时,主Makefile调用这个...
2020-04-10 13:27:45
231
原创 IAR中使用printf
__near_func int putchar(int c)//printf输出重定向{UTX0IF = 0;U0DBUF = (char)c;while(UTX0IF == 0);return©;}
2020-04-07 16:54:07
571
原创 对寄存器的操作--本质还是对寄存器进行操作
1、当自身的库里对变量做了封装,即对地址做了映射,则可以直接操作,如cc2530F256:P1DIR|=0X1<<4,p1_0=12、裸机操作,如cortex-A53,boot启动前的裸机操作:#define GPIOB27_FUNC (unsigned int *)0xC001B024#define GPIOB26_OUTENB (unsigned int *)0xC001B...
2020-04-07 08:49:21
649
原创 查看工程是否支持C库------查看软件安装文件里是否有相应的库函数
查看工程软件的安装目录里有没有C库函数:一、zigbee:C:\Program Files (x86)\IAR Systems\Embedded Workbench 6.0 Evaluation\8051\inc二、stm32:C:\Keil_v5\ARM\ARMCC\include
2020-04-07 08:38:48
180
原创 单片机的串口通信---查询和中断
一、单片机与外设的通信有三种方法:查询,中断和DMA,这三种方式中,查询的话你可以理解为循环检测。在学8位单片机时我没遇到过DMA,DMA适用于传输比较大的数据量,其实也就是传输数据的时候不需要CPU参与,当传输完成会产生中断信号通知CPU,不要以为中断方式和DMA方式一样,虽然都会产生中断信号,但中断方式是通过中断服务函数不断将数据放到串口进行传送,而DMA产生的中断是数据已经传送完毕,需要进一...
2020-04-06 13:21:35
8583
原创 延时函数
void delay_ms(int len){volatile unsigned int i = 61000len;while(i–);}int main(void){led_init();while(1){ led_on(); delay_ms(500); led_off(); delay_ms(500);}}
2020-04-05 15:52:56
292
原创 select-读取串口数据
转:https://blog.youkuaiyun.com/zujipi8736/article/details/86606093(等串口可以读取了,再读取串口的数据)/**功能:向串口接收一个字符参数ch:待接收的字符参数wait_usec:等待n微秒返回值:成功读入返回 0x02失败读入返回 0x03*/unsigned char uart_getchar(unsigned char *...
2020-03-31 16:27:25
974
原创 设备串口初始化
①#if 0#define UART_DEV “/dev/ttyUSB0”//通过USB口连接#else#define UART_DEV “/dev/ttySAC2”//通过串口连接#endif②通过命令cat proc/cmdline查看
2020-03-31 16:24:55
309
原创 RFID卡
转:https://blog.youkuaiyun.com/yunzhonghefei1/article/details/79818974
2020-03-31 12:24:23
270
原创 使用内核生产的命令码
一、#define _IO(type,nr)#define _IOR(type,nr,size) #define _IOW(type,nr,size) #define _IOWR(type,nr,size)TYPE 类型 [15,8]----赋值单个字符NR 序号 [7,0]SIZE 大小 [29,16] //传参过程中,应该传递的是数据类型名,变量名二、头文件#ifnd...
2020-03-29 14:21:30
182
原创 驱动常用命令
1、设备文件存放于/dev目录下,可以用ls -l或ll查看:每个设备文件都有其文件属性,属性包括:设备类型(首字母 c=字符设备 b=块设备)主/从设备号2、cat /proc/devices命令可以查看当前系统中主设备号的使用情况和其对应的硬件设备:Character devices:1 mem4 /dev/vc/04 tty4 ttyS5 /dev/tty5 /dev...
2020-03-29 14:17:05
527
原创 操作系统的五大功能
1)设备管理:主要负责内核和外围设备的数据交互,实质是对硬件设备的管理,包括输入输出设备的分配、初始化、维护和回收等等。2)作业管理:负责人机交互、图形界面或系统任务的管理。3)文件管理:涉及文件的逻辑组织和物理组织、目录结构和管理等等。 从操作系统的角度来看,文件系统是系统对文件存储器的存储空间进行分配、维护、回收,同时负责文件的索引、共享和权限保护。 从用户的角度来说,文件系统是按...
2020-03-28 11:50:45
297
原创 换行符的转换:set ff=unix
et ff=unix : 告诉 vi 编辑器,使用unix换行符老式的电传打字机使用两个字符来代表换行。一个字符把滑动架移回首位 (称为回车, ),另一个字符把纸上移一行 (称为换行, )。当计算机问世以后,人们对换行的处理没有达成一致意见。UNIX 开发者决定用 一个字符来表示行尾。Apple 开发者规定了用 。开发 MS-DOS (Windows)开发者则决定沿用。这就是说,把...
2020-03-28 10:00:16
15363
原创 修改环境变量
转:https://www.cnblogs.com/amboyna/archive/2008/03/08/1096024.html在Linux里设置环境变量的方法(export PATH)一般来说,配置交叉编译工具链的时候需要指定编译工具的路径,此时就需要设置环境变量。例如我的mips-linux-gcc编译器在“/opt/au1200_rm/build_tools/bin”目录下,build...
2020-03-28 09:47:49
656
原创 类中私有的成员如何在类外访问
通过公有的成员函数来访问友元通过保存类或者对象的地址进行访问友元分类:友元函数:友元函数是将一个全局函数作为一个类的友元,可以在函数内部对所有的成员进行直接操作;友元类:友元类中的任意一个成员函数可以任意直接操作指定类的成员变量,但是除了成员函数以外其他成员变量无法操作;友元成员函数:友元成员就是将一个类的成员函数作为另一个类的友元,只有这个成员函数才可以任意操作私有成员...
2020-03-27 16:30:16
2827
原创 宏定义函数、普通函数、内联函数
一、C中:在预处理时,对程序中所有出现的“宏名”,都用宏定义中的字符串去代换,这称为“宏代换”或“宏展开”。宏定义是由源程序中的宏定义命令完成的。宏代换是由预处理程序自动完成的。若字符串是表达式,我们称之为函数式宏定义。我们以下面两行代码为例,展开描述:函数式宏定义:#define MAX(a,b) ((a)>(b)?(a):(b))普通函数 :MAX(a,b) { return a...
2020-03-26 21:13:18
238
原创 const的用法
一、C中:1:①const修饰一个全局变量,无论如何都无法修改变量的值;②在C语言中如果const修饰一个局部变量,则只能通过指针变量来改变其值,c语言中局部const存储在堆栈区,只是不能通过变量直接修改const只读变量的值,但是可以跳过编译器的检查,通过指针间接修改const值;如修饰普通变量,代表只读的意思const int a=100;//定义了一个只读变量 a 值为 100以...
2020-03-26 20:36:38
273
原创 枚举
一、http://c.biancheng.net/view/2034.html二、enum week{ Mon, Tues, Wed, Thurs, Fri, Sat, Sun };①enum是一个新的关键字,专门用来定义枚举类型;②week是枚举类型的名字;③可以看到,我们仅仅给出了名字,却没有给出名字对应的值,这是因为枚举值默认从 0 开始,往后逐个加 1(递增);也就是说,week ...
2020-03-26 17:09:05
101
原创 Makefile
一、gcc编译流程二、Makefile:make 是个命令,是个可执行程序,用来解析 Makefile 文件的命令,这个命令存放在 /usr/bin/。makefile 是个文件,这个文件中描述了咱们程序的编译规则①变量的作用:保存文件名列表保存文件目录列表保存编译器名保存编译参数保存编译的输出引用自定义变量:(变量名)或(变量名)或(变量名)或{变量名}② 预定义变量$@...
2020-03-26 15:44:11
144
原创 文件函数
一、fgets:遇到‘\0’、换行符、文件的末尾结束读取;(字符串函数)二、fputs:将字符串写入到文件中;(字符串函数)三、四、fgets和fputs连续使用时,需将文件指针复位...
2020-03-26 15:21:10
491
原创 字符串处理函数
一、①#include <string.h>,带s开头的函数,只能处理字符串,遇到‘\0’结束;②获取的是连续的不中断的字符串,一遇到不满足条件的直接结束。 二、1、①组包:将变量数据按照变量的格式,输入到buf指定的区域(要提前定义好变量)。②可以将数字转化成字符串:2、①解包:将变量从buf中读取(要取出什么变量就提前定义好这个变量的类型)②例子,跳过 不是等...
2020-03-26 15:00:34
135
原创 数组
![(https://img-blog.csdnimg.cn/20200326110237644.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NoaXhpZ3VhZGVsYW95ZQ==,size_16,color_FFFFFF,t...
2020-03-26 11:04:51
63
原创 指针
一:定义指针:①保存变量的地址;②内存以字节为单位存储数据,操作系统给每个存储单元分配了一个编号,从0x00000000-0xffffffff,编号就是地址;③int a=0x234f,变量a占2个字节,有2个地址编号,但变量a的地址是它的整个存储空间的最小地址:0x01二、指针的跨度和宽度①指针变量的类型:将变量名拖黑,如char p,将p拖黑,及指针变量的类型是char 类型;②...
2020-03-26 10:50:46
164
原创 裸机操作硬件2
1、目标:shell终端操作GPIO-C7口2、导出GPIO号3、设置方向4、 设置输出值—此时对应C7灯亮,设置echo 1 > vaule,灯灭5、取消导出6、拓展:也可以使用应用层的open,read,write函数,分别控制direction和vaule的值write(fd, 71,sizeof(71));(fd为里打开文件的路径为:/sys/class/...
2020-03-10 16:12:41
120
原创 裸机硬件操作步骤
处理器:S5P6818(SOC)架构:ARM架构核心:cortex-A53一、设备1、开发板2、内部核心板3、处理器二、内存映射三、原理图和数据手册1、操作流程2、原理图3、数据手册①使用到的寄存器②寄存器地址及数值配置规则选择功能寄存器:GPIOBALTFN1addr:0xC001B024[21:20] = 01(b)设置输出使能G...
2020-03-07 14:22:09
691
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人