嵌入式开发
文章平均质量分 78
that has a dedicated function within a larger mechanical or electronic system.
Seinikov
这个作者很懒,什么都没留下…
展开
-
STM32ADC采样&Matlab串口实时绘图脚本
F042的ADC为12bitADC,采样所得到的值为04095,ADC引脚输入的最大电压为芯片的供电电压,若测量电压大于这一值,需要使用运算放大器进行转换。故该ADC是将0~3.3V分成了4096份进行比较采样。采样时间在cubemx设置为1.5Cycles。因为只使用了ADC的一个引脚所以中断方式且判定ADC采样结束,其可以不使用DMA通道。原创 2023-12-25 15:42:53 · 709 阅读 · 0 评论 -
绪论:从OSI模型到嵌入式通信协议
而对于嵌入式通信协议我们一般关注物理层,数据链路层和网络层。即ISO/IEC7498标准,定义了网络互联的七层框架。原创 2023-06-30 19:19:18 · 96 阅读 · 0 评论 -
SPI协议梳理附SSD1306OLED屏幕驱动
SPI(Serial Peripheral Interface)也采用串行通信的思想;是一种简单的双向四线制的全双工总线协议,SPI协议标准涉及OSI模型的物理层,数据链路层。原创 2023-06-29 16:07:39 · 864 阅读 · 0 评论 -
I²C总线协议梳理附STM32平台I2C总线SSD1306OLED屏幕软件模拟方式驱动
I²C也采用串行通信的思想;是一种简单的双向两线制的半双工总线协议,其引脚少,硬件实现简单,扩展性强,以I2C(之后均已I2C,IIC代指I²C,Inter-Integrated circuit)地址进行设备选择,相较SPI协议省去了片选线。I2C协议标准涉及OSI模型的物理层,数据链路层和网络层。原创 2023-06-16 21:06:39 · 607 阅读 · 0 评论 -
SDIO协议梳理附SD卡读写以及FATFS移植实例
SDIO也采用串行通信的思想;一种与SD-Card,SD-MMC或者SD总线设备通信的协议,基于命令和数据流。SDIO协议标准涉及OSI模型的物理层,数据链路层和网络层。原创 2023-06-26 10:08:33 · 955 阅读 · 0 评论 -
串行通信&UART协议梳理附STM32平台采用DMA以UART方式收发不定长信息
例如一字节信息即八位需要一位一位由高位到低位或由低位到高位逐位传输,而并行通信则是多bit带宽线路,传输以字节信息可能是八位同时发送,通过信号线判断所在位的信号,缺陷在于多条线信号同步要求很高,在实际干扰环境下通信效率可能不如串行通信。UART是一种将串行通信思想付诸实现的一种,串行,异步通信总线协议,囊括了232,485等各类接口标准规范和总线标准规范。直到这里串行通信的概念只是一个十分笼统的理论模型,并没有规定任何协议而只是一个通信思路。UART,SPI,I²C,CAN都是串行通信的思想。原创 2023-06-16 14:58:53 · 163 阅读 · 0 评论 -
Assembly&C混合编写与ARM跳转指令
相对跳转,BL指令跟B不同:在跳转之前,会先将当前指令的下一条指令地址保存到LR寄存器中,然后才跳转到标号执行。这样做的好处是:当我们想从标号地方返回时,可以直接将LR寄存器中的返回地址赋值给PC,程序就可以返回到原来的程序中继续执行了。无论是汇编语言子程序,还是C语言子程序,在跳转到子程序之前,都要将返回地址保存起来。当子程序执行完毕,将LR寄存器保存的返回地址,重新赋值给PC,处理器就可以返回到主程序继续执行了。将汇编一段指令视为函数,在C程序中使用extern声明,C默认从R0开始使用寄存器。原创 2023-06-07 09:45:17 · 108 阅读 · 0 评论 -
STM32F1XX嵌套中断向量控制器(NVIC)与相关寄存器
这就是应用了上述第一点的中断机制,即高抢占优先级中断程序可以在低抢占优先级中断程序运行过程中插入运行,等高优先级的程序运行结束后CPU又回过头来运行低优先级中断程序。IP[4m],每一组IP有8bit,管理着一条中断线也就是对应着一个中断, [7:4]为有效分级位,[3:0]为无效保留位。同时引入中断分级和嵌套中断管理机制。每一位代表着每一个对应中断的使能,失能,IABR为只读寄存器,每一位代表着对应中断正在中断。ISER中断使能寄存器,ICER中断失能寄存器,IABR中断活动寄存器。原创 2023-06-07 00:31:54 · 439 阅读 · 0 评论 -
浅谈ARM处理器工作模式&内核寄存器&指令语句
ARM处理器工作模式&内核寄存器&指令语句原创 2023-06-01 11:01:08 · 424 阅读 · 0 评论 -
ARM指令栈操作&软中断
ARM指令栈操作&软中断原创 2023-06-01 16:59:01 · 425 阅读 · 0 评论 -
浅谈进线程同步互斥
进程线程同步互斥原创 2023-04-04 20:56:54 · 116 阅读 · 0 评论 -
浅谈wait和waitpid函数
浅谈wait和waitpid函数原创 2023-03-20 13:34:50 · 177 阅读 · 0 评论 -
浅谈C标准库fgets&fputs函数,并与fread&fwrite函数比较
浅谈C标准库fgets&fputs函数,并与fread&fwrite函数比较原创 2023-03-19 15:34:18 · 234 阅读 · 0 评论 -
浅谈静态库和动态库(另附Linux环境制作实例makefile)
静态库动态库区别及其制作原创 2023-03-11 18:02:13 · 357 阅读 · 0 评论 -
浅谈标准库I/O缓冲机制以及_exit和fflush函数的使用
关于标准库I/O缓冲机制,缓冲分类,缓冲区大小进行的一系列实验原创 2023-03-07 19:49:43 · 167 阅读 · 0 评论 -
Linux内核的系统调用以及文件I/O和标准库I/O的关系
Linux内核系统调用以及文件I/O和标准库I/O的关系原创 2023-03-07 19:47:27 · 147 阅读 · 0 评论 -
Linux系统文件I/O及其函数使用
Linux系统文件I/O,及其系统函数使用原创 2023-03-07 19:43:49 · 148 阅读 · 0 评论 -
C语言标准库I/O及其函数使用
标准库IO原创 2023-02-26 22:30:16 · 79 阅读 · 0 评论 -
函数指针和函数指针数组
函数指针和函数数组原创 2023-02-25 23:11:04 · 60 阅读 · 0 评论 -
结构体,共用体,枚举和结构体字节对齐
结构体,共用体,枚举和字节对齐原创 2023-02-25 17:21:03 · 80 阅读 · 0 评论 -
malloc系列函数
malloc函数使用原创 2023-02-25 17:16:58 · 102 阅读 · 0 评论 -
Linux系统结构与shell脚本的变量,判断语句if else/case in,循环语句for while和shell函数
Linux系统结构与shell脚本的变量,判断语句if else/case in,循环语句for/while和shell函数原创 2023-02-18 16:00:38 · 409 阅读 · 0 评论 -
计算机基础知识与Linux系统入门
计算机基础知识与Linux系统入门原创 2023-02-04 23:37:03 · 142 阅读 · 1 评论 -
C程序设计语言符号关键字,数据类型,输入输出与基本程序结构
C程序设计语言符号,关键字,数据类型,输入输出函数与三大基本程序结构原创 2023-02-05 15:01:11 · 134 阅读 · 0 评论 -
C程序设计语言数组,指针与函数
C程序设计语言数组,指针与函数原创 2023-02-12 21:47:37 · 305 阅读 · 1 评论 -
IP地址,子网掩码,网关与DNS
IP地址,子网掩码,网关与DNS原创 2023-02-18 11:34:58 · 359 阅读 · 0 评论