equal love

摘要: #undef 与 #defined 反,实际使用中较多的是当你需要使用自己定义的标准C里面已经的函数时可以这样操作; exit(0)和exit(1)是系统判断函数是否有正常的退出,一般0表示正常的退出; 阅读全文
posted @ 2017-08-08 10:05 珵诩媛 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 整形转格雷码 x= (x>>1)^x 格雷码转整形(3种方法)  staticunsignedint GraytoDecimal(unsignedint x)  {  unsignedint y = x;  while(x>>=1)  y ^= x;  return y;  }  s 阅读全文
posted @ 2017-08-05 15:51 珵诩媛 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 在使用keil开发STM32应用程序时,点击Build后在Build Output窗口中经常会有如下信息:<ignore_js_op> 以前一直好奇这几个参数和实际使用的STM32芯片中Flash和SRAM的对应关系,于是上网搜了一圈,做如下总结: 这些参数的单位是Byte 图中几个参数分别代表 C 阅读全文
posted @ 2017-07-15 14:29 珵诩媛 阅读(8035) 评论(0) 推荐(0) 编辑
摘要: 用DMA内存到内存的模式,直接把Gpio_data的数据循环的搬到GPIOC的BSRR寄存器上来控制GPIOC上电平的翻转,这样使得GPIO的速度达到了最快,输出70ns的脉宽,这已经是达到了DMA总线带宽的极限,要想再提高速度的话,就得提高STM32芯片的主频。 这段没看没想到,一看到就觉得简单。 阅读全文
posted @ 2017-07-15 14:17 珵诩媛 阅读(577) 评论(0) 推荐(0) 编辑
摘要: 1、低频电路对于模拟地和数字地要分开布线,不能混用 2、如果有多个A/D转换电路,几个ADC尽量放在一起,只在尽量靠近该器件处单点接地,AGND和DGND都要接到模拟地,电源端子都要接到模拟电源端子; 3、数字电路和模拟电路在同一块多层板上时,模拟地和数字地不需要排到不同的层上,但模拟电路和数字电路 阅读全文
posted @ 2017-07-15 13:51 珵诩媛 阅读(326) 评论(0) 推荐(1) 编辑
摘要: 1、精度稳定低一点参考电压VREF稳定; 2、通过设置不同的ADC时钟 和 采样周期 来确定出最适合自己系统的参数; 3、测试思路: 在同样SMPx下,设定不同的时钟得到不同采样时间值; 在同样时钟下,更换SMPx(采样周期值)得到不同采样时间值; 比如:设定56MHZ的时钟不分频,一次1US,SM 阅读全文
posted @ 2017-07-14 14:55 珵诩媛 阅读(4074) 评论(0) 推荐(0) 编辑
摘要: 之前自己做过一个项目的低功耗大约11ua,那时总结下有几点: 1、外设时钟必须切换为内部时钟; 2、不用的外设全部关闭,要用再开就是了; 3、浮空引脚必须配置为下拉; 4、硬件上的上拉、下拉电阻切记不能随便加,使用到的外围芯片也要注意功耗问题; 5、对进入低功耗有好几种情况可以选择(睡眠、停机、待机 阅读全文
posted @ 2017-07-14 11:44 珵诩媛 阅读(800) 评论(0) 推荐(1) 编辑
摘要: 1、空闲中断和别的接收完成(一个字节)中断,发送完成(发送寄存器控)中断的一样是串口中断; 2、空闲中断是接收到一个数据以后,接收停顿超过一字节时间 认为桢收完,总线空闲中断是在检测到在接收数据后,数据总线上一个字节的时间内,没有再接到数据后发生。也就是RXNE位被置位之后,才开始检测,只被置位一次 阅读全文
posted @ 2017-07-14 10:33 珵诩媛 阅读(15462) 评论(0) 推荐(0) 编辑
摘要: 浮空,顾名思义就是浮在半空,输入直接与寄存器挂钩; 开漏,输出0的时候 PMOS管导通IO输出Vdd,输出1的时候 NMOS管导通IO输出Vss(Cmos场效应管); 推挽,输出时候电平确定,同样使用MOS管; 上拉、下拉:就是字面意思也可参考 http://www.cnblogs.com/luck 阅读全文
posted @ 2017-07-14 10:14 珵诩媛 阅读(350) 评论(1) 推荐(1) 编辑
摘要: 1、仿真查看外设的寄存器状态;(时钟、端口配置、通道配置、) 2、检查使用到的端口配置;(时钟、端口配置) 3、检查硬件上的支持; 阅读全文
posted @ 2017-07-14 09:34 珵诩媛 阅读(170) 评论(0) 推荐(0) 编辑