嵌入式STM32
文章平均质量分 54
分享嵌入式开发用到的知识,分享日常感悟。
看山是山_Lau
技术改变世界,阅读塑造人生
展开
-
嵌入式编程中的常用技巧
假设一个8位的寄存器,不能够直接进行位寻址,而又要使字赋值时不影响的其他位。那么要给某一位置0,置1,取反的常用写法。下面以第四位为例进行说明(reg为该八位寄存器):将第4位置0:reg &= ~(1<<4);将第4位置1:reg |= (1<<4);将第4位取反:reg ^= (1<<4);...原创 2021-09-06 16:13:49 · 304 阅读 · 0 评论 -
ROM、RAM和FLASH的区别是什么?SRAM、DRAM、PROM、EPROM、EEPROM
ROM、RAM和FLASH的区别是什么?SRAM、DRAM、PROM、EPROM、EEPROM一.性能对比1.ROM和RAM指的都是半导体存储器,ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据。ROM是Read Only Memory(只读存储器)的缩写,里面数据在正常应用的时候只能读,不能写,存储速度不如RAM;RAM是Random Access Memory(随机存取存储器)的缩写,之所以叫随机存储器是因为:当对RAM进行数据读取或写入的时候,花费的时原创 2021-02-19 15:24:25 · 3991 阅读 · 0 评论 -
面试常见问题(嵌入式)
1.RAM和ROM(中电海康)RAM:随机存取存取器(Random Access Memory),也叫主存,是与CPU之间交换数据的内部存储器;ROM:只读内存(Read-Only Memory),ROM所存数据,一般是装入整机前事先写好的,整机工作过程中只能读出,而不像RAM那样能快速地,方便地加以改写.2.进程与线程(青岛海信)程序:一组指令的有序组合;进程:具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单元;线程:是进程的一个实体,是原创 2020-10-15 21:24:51 · 692 阅读 · 0 评论 -
C语言语句YPR[0]=(BUF[1]<<8|BUF[2]),以及 >> 8 &0xFF如何理解?
C语言语句YPR[0]=(BUF[1]<<8|BUF[2])如何理解?这是一个赋值语句,把等式右边的值赋给左边;先来看左边是怎么运算的,由于移位运算符<<的优先级大于位运算符|,所以先计算BUF[1]左移八位,然后再或上BUF[2],或的操作可以理解为两个数相加;通俗理解的话可以举个列子,假设BUF[1]的值为0000 0001b(为方便描述,故用二进制表示) ,左移八位后变成10000 0000b ,BUF[2]的值为1 ,然后两者相加变为10000 0001 b这是算原创 2020-10-10 19:01:09 · 3993 阅读 · 4 评论 -
FreeRTOS中断和任务之间的队列,自定义串口通讯协议
本文提供这样一种方法:FreeRTOS中串口接收数据中断,然后通过队列将数据传递给任务A,在任务A中对数据进行处理,串口使用的通讯协议为自定义。依次给出了串口的初始化,中断服务函数;任务A,队列创建的代码;由于实际在MDK中采用多文件编程,结合自己的需求对相应代码进行移植和修改.由于本人能力水平有限,仅供参考,欢迎交流串口初始化代码:void usart5_init(u32 bound){ GPIO_InitTypeDef GPIO_InitStructure; USART_InitTypeD原创 2020-05-27 23:09:41 · 3290 阅读 · 0 评论 -
TIM_SetCompare2()
对于**void TIM_SetCompare2(TIM_TypeDef TIMx,uint16_t Compare2)***的理解void TIM_SetCompare2(TIM_TypeDef* TIMx,uint16_t Compare2){/*Check the parameters */assert_param(IS_TIM_LIST6_PERIPH(TIMx));/*Set...原创 2019-11-14 12:30:12 · 20819 阅读 · 1 评论