头像-273390

Spirit

个人成就

获得 420 次赞

帮助过262人

HAL库加锁问题

HAL库对外设加锁代码如下:#define __HAL_LOCK(__HANDLE__)                                           \                                do{                                        \                                    if((__HANDLE__)->Lock == HAL_LOCKED)   \                                    {                                      \                                       return HAL_BUSY;                    \                                    }                                      \                                    else                                   \                                    {                                      \                                       (__HANDLE__)->Lock = HAL_LOCKED;    \                                    }                                      \                                  }while (0U)从if到赋值,至少是三条指令。假如在if判断后,出现中断,在这个中断里也会请求使用外设。低级别的请求加锁就失去意义了。感觉这里不太靠谱。----------------------------------我是指用HAL库裸编的情况,用操作系统的加锁就不用提了。

适合嵌入式的绘图算法

比如画线、画圆等几何图形肯定有适合嵌入式的绘图算法,能否给个算法名称或下载链接另外,有没有带线粗的算法

求讲解一下 f_forward 函数

FATFS中的这个函数没看懂,麻烦讲解一下FRESULT f_forward (FIL* fp UINT(*func)(const BYTE*UINT) UINT btf UINT* bf); /* Forward data to the stream */

STM32里的空指令

51里可以用_nop()作为空函数怎么我在STM32里用不成?

STM32哪种实时操作系统用得多?

如题,想优先学习下常用的操作系统

求接近传感器

大家都知道手机上的接近传感器,贴近人脸就能识别的那种。我知道它是用反射红外线的原理请问有没有哪款购买方便的型号?

关于文件系统

最近刚学习完FATFS发现FAT文件系统高度依赖0扇区诸如文件分配表位于前几个扇区对于Flash来说,频繁地增删文件,前几个扇区“磨损”肯定比其它位置要快的多。前几个扇区就决定了整个存贮器的寿命。对于嵌入式来讲,文件操作还不是很频繁对于计算机来讲,现在流行的固态硬盘其实也是Flash存贮器。那么FAT文件系统是否对固态硬盘来讲很不适合?为了延长固态硬盘寿命,目前有没有什么更好的方案?

f_mkfs的第三个参数有什么用?

FRESULT f_mkfs ( const TCHAR* path /* Logical drive number */ BYTE sfd   /* Partitioning rule 0:FDISK 1:SFD */ UINT au    /* Size of allocation unit in unit of byte or sector */)第三个参数,硬要我这个英语渣渣翻译的话:字节单元或扇区分配单元大小某例程是这样用的:f_mkfs("1:"14096);//格式化FLASH1盘符;1不需要引导区8个扇区为1个簇说第三个参数是8个扇区为1簇?!搞不懂了一般来讲,我们尽可能把硬件和应用区分开这搞得我格式化时还得知道我的硬件是怎么组成的?!