摘要: USART_GetITStatus()和USART_GetFlagStatus()的区别 都是访问串口的SR状态寄存器,唯一不同是,USART_GetITStatus()会判断中断是否开启,如果没开启,也会返回false。 ITStatus USART_GetITStatus(USART_TypeD 阅读全文
posted @ 2018-04-03 17:38 白衣尽湿 阅读(13106) 评论(0) 推荐(1) 编辑
摘要: 先解释中断优先级,后面讲代码的实现。 差异:M0的中断优先级相比于M4,没有用到分组,且只用到了2个bit位(即0~3)来设置,数值越小,优先级越高;同等优先级,根据终端号的大小来决定谁先执行。 根据下面这张编程手册里的图来说明: 从上往下看,共32个IRQ中断,每个中断优先级占8个位,一个寄存器存 阅读全文
posted @ 2018-04-02 16:25 白衣尽湿 阅读(4453) 评论(1) 推荐(0) 编辑
摘要: source insight有很多宏可以用,这里介绍的宏是quicker.em这个宏,它是华为的一个员工写的,很实用。 1、安装quicker.em宏 一、打开base这个工程Project->Open Project,选择base工程,即可打开; 二、将宏文件quicker.em添加到该base工 阅读全文
posted @ 2018-03-26 15:03 白衣尽湿 阅读(4488) 评论(0) 推荐(0) 编辑
摘要: 1) 什么是LoRa调制? LoRa (Long Range,远距离)是一种调制技术,与同类技术相比,提供更长的通信距离。调制是基于扩频技术,线性调制扩频(CSS)的一个变种,具有前向纠错(FEC)。LoRa显著地提高了接受灵敏度,与其他扩频技术一样,使用了整个信道带宽广播一个信号,从而使信道噪声和 阅读全文
posted @ 2018-03-16 15:07 白衣尽湿 阅读(5220) 评论(0) 推荐(0) 编辑
摘要: switch语句的执行规则如下: 1、从第一个case开始判断,不匹配则跳到下一个case继续判断; 2、遇到break则跳出switch语句; 3、default一般是没有匹配项才执行的,一般是放在switch语句末尾。在如下情况下,它会被执行:一、没有匹配项的时候;2、匹配项最后没有break语 阅读全文
posted @ 2018-03-14 10:18 白衣尽湿 阅读(8170) 评论(0) 推荐(0) 编辑
摘要: 非专业归纳,不是很准确,不喜勿喷! 一下归纳基于1=C 4/4的简谱;即4分音符为1拍,一小结有四拍。 1、音乐由节拍和音调组成,简单来说就是:一首歌,每一个音调保持一个固定的时间,这个固定的时间即为节拍数,音调即为频率。2、音调:钢琴中,把音调分为很多组,每一组为一个八度,专业来讲,是叫音程;数字 阅读全文
posted @ 2018-03-08 13:59 白衣尽湿 阅读(1377) 评论(0) 推荐(0) 编辑
摘要: 放大电路简单说就是将信号源提供的微弱信号放大去驱动负载正常工作。因为信号源提供的信号功率太小,没办法去直接驱动负载,放大器控制外接直流电源的输出功率,使之随输入信号一起变化,然后将这个变化的能量输送给负载,使得负载正常工作。实质上是一种能量控制作用!单管放大电路按结构分 共射级,共基极,共集电极(三 阅读全文
posted @ 2018-03-06 20:17 白衣尽湿 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 先放原理图(补充:图中的BOOT0通过10K的电阻接到地),再解释为什么这么设计: STM32启动方式:BOOT0和 BOOT1用于设置 STM32的启动方式 ,见下表: BOOT0=1,BOOT1=0:串口下载模式; BOOT0=0,BOOT1=X:程序启动模式,从内部flash启动。 设计思路: 阅读全文
posted @ 2018-02-27 14:42 白衣尽湿 阅读(2739) 评论(0) 推荐(0) 编辑
摘要: 一、接收邮箱函数的参数:timeout表示的是滴答定时器的节拍数,比如设定5ms为一个节拍,超时为100ms,则timeout=20. void *OSMboxPend (OS_EVENT *pevent, INT32U timeout, INT8U *perr) 阅读全文
posted @ 2018-02-06 11:32 白衣尽湿 阅读(471) 评论(0) 推荐(0) 编辑
摘要: https://www.cnblogs.com/gavin-num1/p/5170247.html 阅读全文
posted @ 2018-01-10 13:50 白衣尽湿 阅读(134) 评论(0) 推荐(0) 编辑