- 博客(19)
- 收藏
- 关注
原创 arm-cortex_a9的压缩包链接arm-cortex_a9-eabi-4.7-eglibc-2.18.tar.gz
arm-cortex_a9-eabi-4.7-eglibc-2.18压缩包链接
2023-11-07 14:43:46
331
5
原创 xxx.h:4:10: ‘QMainWindow‘ file not found,等等多个基础头文件找不到的情况解决方法
xxx.h:4:10: 'QMainWindow' file not found,等等多个基础头文件找不到的情况解决方法
2022-12-13 18:11:35
5038
原创 嵌入式-ARM(裸板开发)-3-UART驱动开发
一、UART(串行通信)驱动编程1.基本概念通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART,是一种串行异步收发协议,应用十分广泛。UART工作原理是将数据的二进制位一位一位的进行传输。在UART通讯协议中信号线上的状态位高电平代表’1’低电平代表’0’。当然两个设备使用UART串口通讯时,必须先约定好传输速率和一些数据位。2.串行通信按传输方向来定义的传输方式:2.1...
2022-02-20 00:15:01
1182
原创 嵌入式-C语言-10-枚举/(函数)指针(函数)/多级指针/malloc动态分配/文件操作
一、复合类型:枚举1.1.枚举的本质就是一堆整数的集合,列表,就是给整数取了个别名,提高代码的可读性,枚举值默认是从0开始,后面的成员依次加1例如:250(不具体)---通过枚举的方式----->坏蛋BAD EGG(250的别名)0-------通过枚举的方式------------->红色RED(0的别名)1-------通过枚举的方式------------->绿色GREEN(1的别名)2-------通过枚举的方式------------->蓝色BLUE(2
2022-02-16 01:02:08
1022
原创 嵌入式-C语言-9-Makefile/结构体/联合体
一、Makefile1.1.问:如果项目产品代码有1万源文件.c,编译极其的繁琐gcc -o main main.c a.c b.c .... 一个万.c这么简化程序的编译呢?答:必须只能利用Makefile来实现1.2.Makefile功能:能够制定编译规则,将来让gcc编译器根据这个规则来编译程序,Makefile本质就是一个文本文件,此文件给make命令使用,将来make命令会根据Makefile里面的编译规则让gcc...
2022-02-15 18:24:30
750
原创 嵌入式-C语言-8-字符指针数组/大型程序实现
一、字符指针数组1.1.明确:[]运算符的计算步骤:1.先求地址2.后取值char a[] = {'a', 'b'};char *p = &a;p[1]:先求地址:p+1,然后取值:*(p+1)1.2.指针数组(实际开发很常用)a)指针数组概念:数组中每个元素都是一个指针(地址),元素只能是地址,不能是普通的数据b)指针数组定义的语法格式:数据类型 *数组名[元素个数/数组长度] = {地址...
2022-02-15 16:31:22
558
原创 嵌入式-C语言-7-指针(2)/字符串
一、指针(2)无数据类型指针:void *a)无数据类型指针(void *)概念:它也是一个指针变量,也保存一个地址,同样占4字节内存空间,只是它指向的内存区域的数据类型是不可知的,称这种指针为无数据类型指针写法:void *例如:void *p = &a;b)无类型指针特点:1.通过此种指针变量是无法获知指向的内存区域保存的数据的数据类型2.不能直接对无类型指针进行解引用操作"*",因为你不知道指向的内存区域的数据类型也...
2022-02-15 01:17:13
912
原创 嵌入式-C语言-6-指针
一、局部/全局——静态/非静态——变量引一下概念:C语言变量按照作用域和可见性分两类:局部变量和全局变量局部变量定义:定义在函数内部的变量全局变量定义:定义在函数之外的变量1.1static关键字如果定义变量时前面加static关键字修饰,表示此变量为静态变量如果定义变量是前面没有加static关键字修改,表示此变量为非静态变量例如:int a = 250; //非静态变量static int a = 250; ...
2022-02-12 23:54:53
621
原创 嵌入式-C语言-5-函数
一。函数(核心中的核心)1.1.明确:任何C程序,C源文件都包含两部分内容:一对的变量(包括数组)和一堆的函数1.2.函数概念:函数就是一堆语句的组合,用以实现一些相对独立并且具有一定通用性的功能 分析:没有函数的代码极其繁琐啰嗦,代码重复重复的编写,加大开发的工作量期望:只需将以上重复的代码写一遍即可,其他文件只需使用即可,减少开发的工作量 方案: vim add.c //编写一个加法函数add int add(int x, int y) {...
2022-02-11 23:11:46
485
原创 嵌入式-C语言-4-数组
一、数组1.1计算机程序其实玩的就是内存,玩内存首先得分配,目前分配内存的方法只有一种:定义变量。例如: int a;int b;int c; 。。。。。。。。 数据类型一致,并且大量分配,此种分配方法会让代码极其繁琐。问:是否存在一种方法解决此类问题:既可以保证数据类型一致,又可大量一次性分配大量内存呢?答:有,C语言的分配内存方法:数组1.2.数组的定义:是一种分配内存的方法,分配的内存能够存...
2022-02-11 22:05:43
1006
1
原创 嵌入式-ARM(裸板开发)-2-LED驱动开发
一、LED驱动1.比如我们要控制一个LED的亮灭,根据这个电路图,我们可以知道,让LED1亮或者灭实则就是控制导线GPIOC12上出现低/高电平。2.再找到GPIOC12和CPU相连的管脚,就可以进一步理解为,控制LED1亮或者灭,实则就是控制CPU W15管脚输出低/高电平。3.在数据手册中,我们得知,W15管脚如果想控制GPIOC12管脚,需要切换为功能1才可以。4.如何切换功能,就需要查看数据表中的GPIOxALTFUN0这个表(x代表各种GPIO类型,比.
2022-02-09 00:53:13
1244
6
原创 嵌入式-C语言-3-类型转换/流程控制/循环结构
一、数据类型的转换1.隐式转换特点:如果表达式中不同数字的数据类型不同,gcc编译器先将不同的数据类型,转换成相同的数据类型之后再做运算隐式转换的三种情况:<1>.隐式转换过程中必须把内存小的类型转换成占内存大的类型<2>.如果既有整形数据类型还有浮点数据类型,gcc编译器自动将整形数据类型
2022-02-06 11:09:31
637
原创 嵌入式-UC(Unix系统高级编程)-3
一、内存1.内存:虚拟内存:是地址空间,虚拟的存储区域,应用程序所访问的都是虚拟内存。(我们在程序中所访问的内存基本都不是真实的,是虚拟的,实际上是存在物理内存中,通过内存映射,完成从虚拟到物理的存放。)物理内存:存储空间,实际的存储区域,只有系统内核可以访问物理内存。虚拟内存和物理内存之间存在对应关系,当应用程序访问虚拟内存时,系统内核会依据这种对应关系找到与之相应的物理内存。上述对应关系存储在内核中的内存映射表中。物理内存包括半导体内存和换页文件两部分:当半导体内..
2022-02-05 06:25:04
287
原创 嵌入式-UC(Unix系统高级编程)-2
一、库先说两个概念引入:对于初学者,一般会把程序中所有功能全部实现于一个单一的源文件内部。这会导致编译时间长,不易于维护和升级,不易于协作开发,这属于单一模型。将程序中的不同功能模块划分到不同的源文件中。缩短编译时间,易于维护和升级,易于协作开发,这属于分离模型。1.静态库静态库的本质就是将多个目标文件打包成一个文件
2022-02-03 22:25:19
760
原创 嵌入式-ARM(裸板开发)-1
一、开发板硬件简介cpu, s5p68188核处理器 1.4GHz内存,DDRAM 1GB EMMC,8GB二、擦除自带的uboot程序mmc erase 0 0x1000 (这个时候基本就是大家所说的变砖了,需要我们为他注入灵魂)三、通过TF卡启动开发板1、使用IROM_Fusing_ToolV2.0将ubootpak.bin烧写进TF卡中2.、通过TF卡启动开发板(每次开机都要通过 s5p6818将TF卡中的ubootpak.bin送进内存,那就脱离不了TF...
2022-02-03 07:18:05
680
原创 嵌入式-C语言-2-运算符/表达式
一、对于C语言的运算符和表达式1.运算符1.1算数运算符:加,减,乘,除,取余,对应的符号:+,-,*,/,% <1>.如果参与除法计算的两个数字是整型数则计算结果只保留整数部分例如:5/2=2 <2>./和%不能对整数0进行操作,否则程序崩溃例如:5/0, 5%0 <3>.%不能对浮点数使用例如:5%1.1,否则程序崩溃 <4>.%的结果与其左边的数字符号一致...
2022-02-02 10:18:33
1236
原创 嵌入式-UC(Unix系统高级编程)-1
UC学了有一阵子了,打算把笔记整理一下,发到网上,方便以后随时复盘,也供给大家拿去学习交流,希望不要收藏吃灰,要坚持学习,通过自己的努力,为这世界中你喜欢的方向添砖加瓦。
2022-01-31 07:31:44
595
原创 嵌入式-C语言-1-数据类型
C语言学了有一阵子了,打算把笔记整理一下,发到网上,方便以后随时复盘,也供给大家拿去学习交流,希望不要收藏吃灰,要坚持学习,通过自己的努力,为这世界中你喜欢的方向添砖加瓦。一、对于C语言的描述你可以将之理解为:一种实现人和计算机交流的语言,你通过键盘把想实现的功能写下来,后面就会有相应的翻译官(即编译器)去帮你们翻译,让计算机明白你的所想,然后计算机就会调动自己的资源去执行你所写的命令。1.接下来让我们试着写一下吧!写的途中我会介绍一些写项目所涉及到的linux常用命令(我比较喜欢点对点
2022-01-31 05:44:37
888
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人