![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
嵌入式
文章平均质量分 54
不会说话的妖
这个作者很懒,什么都没留下…
展开
-
V4L2应用层开发
【代码】V4L2应用层开发。转载 2023-11-30 17:58:29 · 64 阅读 · 0 评论 -
驱动的调试
上述例子中宏 KERN_DEBUG 和后面的 ”” 之间没有逗号,因为宏实际是字符串,在编译时会由编译器将它和后面的文本拼接在一起。查看系统使用的日志等级信息通常情况下,上述命令会输出 7 4 1 7这四个数字依次对应 console_loglevel,default_message_loglevel,minimum_console_loglevel,default_console_loglevel。:控制台使用的日志级别;:调用 printk() 未指定日志级别时使用的日志级别;原创 2023-11-03 18:16:18 · 115 阅读 · 0 评论 -
FreeRTOS相关API函数
FreeRTOS相关API函数原创 2023-08-21 13:30:02 · 560 阅读 · 0 评论 -
Linux驱动编译问题
记录下在学习Linux驱动的时候遇到的问题:编译驱动遇到这样的报错:error: expected declaration specifiers or ‘…’ before string constantwarning: data definition has no type or storage classwarning: type defaults to ‘int’ in declaration of ‘MODULE_LICEVSE’warning: function declaration原创 2022-03-05 20:46:18 · 2246 阅读 · 2 评论 -
Linux进程的零基础学习笔记
进程的由来程序进程查看进程之间的关系操作系统如何区分进程创建一个新进程fork函数fork函数特性fork函数要点总结子进程的偷梁换柱exec函数族要点总结进程的由来程序静态文件进程运行着的实体查看进程之间的关系pstree操作系统如何区分进程PID:进程的身份证创建一个新进程fork函数头文件:#include <unistd.h>函数原型:pid_t fork(void);返回值:成功:0或其他正整数失败:-1fork函数特性执行原创 2022-02-12 12:21:31 · 448 阅读 · 0 评论 -
FSMC —— 扩展外部 SRAN!
1. SRAM 控制原理 STM32控制器芯片内部有一定大小的SRAM及FLASH作为内存和程序存储空间,但当程序较大,内存和程序空间不足时,就需要在STM32芯片的外部扩展存储器了。 扩展内存时一般使用SRAM和SDRAM存储器,但STM32F1系列的芯片不支持扩展SDRAM(STM32F429系列支持),它仅支持使用FSMC外设扩展SRAM,我们以 SRAM为例讲解如何为STM32扩展内存。由于引脚数量的限制,只有STM32F103ZE或以上型号的芯片才可以扩展外部SRAM。 2. SR原创 2021-05-19 17:32:55 · 693 阅读 · 0 评论 -
GPIO的工作模式
GPIO:就是一个引脚作为输入或者输出。GPIO的八种工作模式:输入输出是相对于CPU,四种输入、四种输出模式及四种输出最大速度输入:外部数据输入到开发板输出:开发板的数据输出到外部设备1. GPIO_Mode_AIN 模拟输入将IO口作为模拟输入接口,输入的可能是变化的值,接收外部的模拟信号输入2. GPIO_Mode_IN_FLOATING 浮空输入复位上电的时候,引脚不确定电平的高低3. GPIO_Mode_IPD 下拉输入将IO口作为通用输入接口,只能输入0或者1,强制下拉,一转载 2021-05-12 18:45:24 · 3596 阅读 · 0 评论 -
I2C协议
I2C物理层I2C通讯设备之间的常用连接方式它的物理层有如下特点:(1) 它是一个支持设备的总线。“总线”指多个设备共用的信号线。在一个I2C通讯总线中,可连接多个I2C通讯设备,支持多个通讯主机及多个通讯从机。(2) 一个I2C总线只使用两条总线线路,一条双向串行数据线(SDA) ,一条串行时钟线 (SCL)。数据线即用来表示数据,时钟线用于数据收发同步。(3) 每个连接到总线的设备都有一个独立的地址,主机可以利用这个地址进行不同设备之间的访问。(4) 总线通过上拉电阻接到电源。当I2C设备原创 2021-04-30 00:44:48 · 1406 阅读 · 1 评论 -
SPI 协议
SPI的应用SPI(Serial Peripheral Interface)协议是由摩托罗拉公司提出的通讯协议,即串行外围设备接口,是一种高速全双工的通信总线。SPI总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。SPI总线可直接与各个厂家生产的多种标准外围器件相连,包括FLASH、RAM、网络控制器、LCD显示驱动器、A/D转换器和MCU等。接口MOSI (Master Output, Slave Input)主设备输出/从设备输入引脚。主机的数据从这条信原创 2021-04-29 21:20:58 · 586 阅读 · 0 评论 -
电平标准(RS232 \ RS485 \ TTL)对比
通讯标准5V TTLRS-232RS-485电平标准(发送端)逻辑 1:2.4V ~ 5V 逻辑 0:0 ~ 0.5V逻辑 1:-15V ~ -3V 逻辑 0:+3V ~ +15V逻辑 1:-6V ~ -2V 逻辑 0:+2V ~ +6V传输方式计算机处理器控制的设备内部各部分之间通信的标准技术。采用不平衡传输方式,即所谓单端通讯采用平衡传输,即差分传输方式(使用两根线的电压差表示数据)传输距离适合本地设备之间的通信,传输距离一般不超过20m。传输...原创 2021-04-29 15:58:13 · 1346 阅读 · 0 评论 -
C语言位操作
C 语言中提供了 &(与)、|(或)、^(异或)、~(取反)、>>(右移)、<<(左移)6 种位操作符。pqp&qp|qp^q00000010111001111110假设如果 A = 60,且 B = 13,现在以二进制格式表示,它们如下所示:A = 0011 1100B = 0000 1101下表显示了 C 语言支持的位运算符。运算符实例&(与)原创 2021-04-24 15:05:57 · 125 阅读 · 0 评论 -
FLASH的存储特性
在写入数据之前必须先擦除擦除时会把数据全置为 1写入数据时只能把为 1 的数据位改为 0擦除时必须按最小单位来擦除(一般为扇区)原创 2021-04-16 22:01:51 · 404 阅读 · 0 评论 -
比特率与波特率
Bitrate——比特率:每秒钟传输的二进制位数,单位为比特每秒(bit/s)。Baudrate——波特率:表示每秒钟传输的码元个数。区别:①当码元为 1 位二进制数时,两者是一样的。②当码元为 2 位及以上二进制数时,两者不一样。...原创 2021-04-02 00:12:17 · 220 阅读 · 0 评论 -
STM32固件库文件分析
汇编编写的启动文件startup_stm32f10x_hd.s: 设置堆栈指针、设置 PC 指针、初始化中断向量表、配置系统时钟、调用 C 库函数 _main 最终去到 C 的世界。时钟配置文件system_stm32f10x.c:把外部时钟 HSE = 8M,经过 PLL 倍频为 72M。外设相关的stm32f10x.h:实现了内核之外的外设的寄存器映射。xxx:GPIO、USRAT、I2C、SPI、FSMC。stm32f10x_xx.c:外设的驱动函数库文件。stm32f10..原创 2021-03-26 16:46:26 · 156 阅读 · 0 评论 -
寄存器置 0 或 1 的问题
设 GPIO 为一个 8 位寄存器,其值为:10010100①现要将它的第 3 位(从右开始,第 0 位起始),置为 1 ,并保持其他位不变。GPIO |= (1<<3); //置 GPIO_3 为 1原理是 1 左移3位,再或上 GPIO。②现要将它的第 2 位,置为 0,并保持其他位不变。GPIO &= ~(1<<2); //置 GPIO_2 为 0原理是先将 1 左移 2 位,再进行取反,最后再与上 GPIO。.原创 2021-03-26 11:21:15 · 3033 阅读 · 0 评论