04 2023 档案
摘要:使用inline函数可以提升程序效率,但是让inline函数生效是有条件的... 打开 Linux 内核源代码,会发现内核在定义C语言函数时,有很多都带有 “inline”关键字,请看下图,那么这个关键字有什么作用呢? inline 关键字的作用 在C语言程序开发中,inline 一般用于定义函数,
阅读全文
摘要:【文章1】为何众多计算机语言要从1970年1月1日开始算起? 记得刚搭好sspanel的时候看到用户注册时间都是1970年,不懂代码的我看到下面这篇文章终于了解了是什么原因,当然程序员肯定知道的。 为什么计算机时间和众多编程语言的时间都要从1970年1月1日开始算起呢,时间计时起点到底为什么是197
阅读全文
摘要:1. 避障模式 今天尝试编写避障模式, 常规思路就是读取 HC-SR04 的值进行判断,如果读到的数值小于某个值(比如10cm), 车子就后退;如果数值大于这个值,那么车子就停止。 在这个过程中我犯了两个错误。 一个是忘记了做BSP测试的时候,HC-SR04 用到定时器和电机输出的 PWM 定时器是
阅读全文
摘要:STM32F103的默认测试端口(JTAG\SW)介绍 STM32F103的PB3、PB4、PA13、PA14、PA15在默认上电状态并不是具有普通 IO 的功能的。而是用作 SWJ-DP端口(用于JTAG调试) 这些引脚只有重定义功能后才能作为普通的IO口使用,所以我们需要对这些引脚进行配置的时候
阅读全文
摘要:简要概括 1. 尺寸不同:14500说明直徑14mm长度50mm的圆柱状电池,18650是直徑18mm长度65mm的圆柱状电池。 2. 容量通常不同:14500电池由于容量相对来说小,最基本的容量一般在600mAh-800mAh正中间,比较大的容量一般也不会超过900mAh。18650电池的最基本容
阅读全文
摘要:①、启动文件 start.s 需要添加一级中断向量表和中断处理函数的框架两部分的内容。 一级中断向量表如下: 3 _start: 4 ldr pc, =Reset_Handler /* 复位中断 */ 5 ldr pc, =Undefined_Handler /* 未定义指令中断 */ 6 ldr
阅读全文
摘要:显示语句 OLED 可以用 sprintf() 函数输出的字符串来显示动态变化的数字。 例如,可以定义一个 u8 char oled_buff[20],作为sprintf()的第1个输入参数,第2、3个参数可按 printf() 函数的格式写。 然后在将 oled_buff 作为 OLED_Show
阅读全文
摘要:本文主体内容转载于: 版权声明:本文为CSDN博主「椿湫致简」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/zyc18700766982/article/details/126899279 本文问题解决参考于:
阅读全文
摘要:在模仿正点原子C语言点灯(第十章 C语言版LED灯实验)程序中,需要写 start.s 文件用于初始化堆栈,配置C语言的环境等等,用到了汇编指令。 自己写的时候没注意 msr 和 mrs 的区别。 其中,第一行为 mrs ,为状态寄存器到通用寄存器的传送指令。 第四行是 msr,为通用寄存器到状态寄
阅读全文
摘要:简介 触摸屏包括两种,一种为电容触摸屏,另一种为电阻触摸屏。 电阻触摸屏的优点是:价格便宜,适合特殊工况(湿度较大、有水珠的环境)。 电容触摸屏的优点是:支持多点触控,精度高,触摸反应快。但价格贵,有水珠的地方不适用。 XPT2046 是专用于电阻式触摸屏的芯片,其基于四线 SPI 通信协议。 其A
阅读全文
摘要:二维数组的初始化 ⑴ 分行进行初始化 int a[2][3]={ {1,2,3},{4,5,6}}; 在{ }内部再用{ }把各行分开,第一对{ }中的初值1,2,3是0行的3个元素的初值。第二对{ }中的初值4,5,6是1行的3个元素的初值。相当于执 行如下语句: int a[2][3]; a[0
阅读全文
摘要:在编译工程的时候经常用到 gcc-linux-gunebaihf,其中eabi 和 hf 的释义如下。 转载自:文章 一. 什么是abi /eabi ABI: 二进制应用程序接口(Application Binary Interface (ABI) for the ARM Architecture)
阅读全文
摘要:STM32 FSMC:FSMC(Flexible Static Memory Controller):翻译为:灵活的静态存储管理器。 可管理的存储类型包括: NOR FLASH 和 SRAM NAND FLASH PC Card(PC卡,不知道是什么东西) 具体功能是将外部的存储设备映射为内部地址,
阅读全文
摘要:第26章LCD代码,P303代码写错。 原来的代码写错,因为是D/CX引脚,高电平(1)意味着数据,低电平(0)意味着命令: #define FSMC_Addr_ILI9341_CMD ((uint32_t)) 0x60020000 #define FSMC_Addr_ILI9341_DATA ((
阅读全文