- 博客(10)
- 收藏
- 关注
原创 arm架构-makefile
# 延时变量,如果是第1次定义才起效,如果在前面该变量已定义则忽略这句。比如:*.c 表示当前目录下所有以“.c”结尾的文件。中可以使用的通配符有:* 、?当"目标文件不存在,或某个依赖文件比目标文件"新",A := XXX # A的值即刻确定,在定义时即确定。+=#附加,它是即时变量还是延时变量取决于前面的定义。使用了假想目标的目标之后不会去寻找目标文件是否存在。# 在text中取出符合patten格式的值。# 在text中取出不符合patten格式的值。中表示一个文件名时,可以使用通配符。
2024-07-14 00:00:19
386
原创 嵌入式LVGL图形开发之 样式(style)
样式(Styles)基本介绍Styles用于设置对象的外观。样式是一个变量,它可以保存边框宽度、文本颜色等属性。将样式变量分配给对象就可以改变其外观。在赋值过程中,可以指定目标部分和目标状态。一个样式可以给多个对象使用(正常样式)。样式可以级联,也就是可以将多个样式分配给一个对象。所以,我们不用将所有属性都在一个样式中指定,可以通过多个样式组合的形式指定。LVGL会优先使用我们定义的样式,如果没有就会使用默认值。后来添加的样式具有更高的优先级。
2023-08-30 21:37:26
938
1
原创 数组与指针的关系,你真的懂数组吗?
数组本身是一个指针,数组下标为指针偏移量,所以可以为负数数组名本质一个只读的指针,指向数组的首地址并且带有数组的长度信息,但是当数组名作为值,赋值给其他指针是会自动转换为一个地址(数组的首地址)
2023-08-05 22:34:40
228
1
原创 c中在一条语句中连续自加一个变量的问题
int s=1; printf("%d\n%d",++s,++s);比如上面这一段代码,这一段的正确结果应该是 2 3,输出结果却是 3 2使用连续自加会导致一些离谱的结果,不同编译器对连续自加的编译结果不同
2021-11-03 16:41:11
230
原创 单片机程序: HEX文件实际大小,多大会超过芯片flash
程序写好并编译后生成hex文件,这个hex文件就是要下载到单片机里的文件,这个文件的大小不能超过单片机的FLASH大小,否则就要优化程序或者选用更大FLASH的单片机。如下图所示,就是一个编译好的hex文件:正在上传…重新上传取消我们发现他后边的大小是9KB,这个是程序的大小吗?其实这是错误的,程序的大小要在这里看见:正在上传…重新上传取消Code:表示所要执行的代码,程序中所有的函数都位于此处。RO-data:表示只读数据,程序中所定义的全局常量数据和字符串都位于此处。R.
2021-10-16 09:31:17
4657
1
原创 修改stm32工程模板为新工程(改工程名字)
1.将keil工程生成文件删除留下本体2.将目标文件夹生成文件清空3.然后将uvprojx本体文件改为想要的名子4.打开工程,将魔法棒里的output名字也修改5.然后还有一个不知道修改了有什么用的(请问大神这个是改了哪里的文件)...
2021-05-16 19:24:02
867
原创 STM32学习笔记---串口中断(寄存器版本)
串口设置流程设置GPIO口模式为复用,并复用GPIO口为串口(AFR寄存器),顺便使能串口时钟【AFR寄存器为数组AFR[1]就是AFEH,AFR[0]就是AFEL】 RCC->AHB1ENR |= 1 << 0; GPIOA->MODER &= ~(0x3 << (2*9)); //设置复用模式 GPIOA->MODER |= 0x2 << (2*9); GPIOA->MODER &= ~(0x3 <
2021-05-12 22:20:54
1701
1
原创 STM32学习笔记---NVIC中断优先级(重点提分组)
STM32学习笔记---NVIC中断优先级(重点提分组)抢占优先级小的优先,可以打断优先级大的程序;响应优先级(也成为子优先级)不能打断程序但是在同时发生时响应优先级小的优先优先级分组优先级分组可以确定能有多少个抢占优先级和响应优先级STM32用了4位确定分组(如上图)能有多少抢占优先级或响应优先级以2的n次方确定,比如分组3,有2的3次方个抢占优先级即8个抢占优先级,2的1次方即2个响应优先级中断分组函数:NVIC_PriorityGroupConfig();.
2021-05-12 15:21:04
292
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人