jicheng0622

【原创】串口波特率计算中使用四舍五入算法提高精度

异步通信SCI/UART大概是我们最最最常用的外设了吧(无以言表,只能用连续三个最来表示了),呵呵,目前绝大数的应用都离不开串口,串口配置简单,使用方便,家喻户晓,“居家旅行”必备工具啊,呵呵。至于具体的应用我这里就不一一举例了,这个大家几

【学习笔记】为什么I2C从机地址要左移一位

对许多刚开始接触I2C的新手来说,最开始比较疑惑,当MCU做主机与一些I2C接口的从机(比如一些数字传感器,大多数仍为I2C接口)通信时,无论是用IO模拟I2C协议还是使用I2C模块,在发送从机地址时为什么都需要将从机手册的I2C地址左移一位发出去呢?当

【原创】Kinetis芯片Reset管脚出现方波的原因及解决办法

相信很多Kinetis用户在最开始使用该芯片的时候都会发现,当我们把一片新的空的KinetisMCU焊接到PCB板上之后用示波器表笔测量其复位管脚会看到一个比较稳定的方波输出(或者三角波,三角波主要是由于外部的阻容复位电路造成的,电容充放电形成的效果,

【原创】Codewarrior、IAR和Keil三大IDE局部优化指令

大致在去年我写了一篇关于在Codewarrior下使用局部优化指令的文章,可以使用户平衡代码空间限制和功能异常的问题(即遇到程序执行效率较差或者代码空间受限的话我们会想到打开编译器的优化,但是如果在编译器中打开了全局优化则可能带来某些功能的异

【原创】Kinetis K系列SPI接口设计注意事项

SPI与UART、I2C常被称为单片机开发三大基本通信模块(几乎是个MCU,都少不了这三个通信外设),足以说明这三个通信模块被使用的频率有多高了,呵呵。而这三个通信模块优劣势不同,应用场合也不太一样,SPI一般用在需要短距离高速通信应用,比如高速AD

【原创】使用Kinetis系列中UART的IDLE Line功能识别帧结束

使用串口接收连续的一帧数据是我们平时比较常用到的一种方式(通过485或者232总线),而且往往这一帧数据的长度不确定,实现这种功能如果我们使用传统的接收中断方式的话会带来非常频繁的中断,查询方式的话则会造成系统大的延时,总之,这两种传统的

【学习笔记】I2C总线被挂起的原因和解决办法

I2C总线是我们常用的IC之间的通信总线之一,虽然速率有一定的限制(标准的I2C速率才100kbps,FastI2C速率为400kbps),但是有利有弊,存在即有理,其简单的两线接口(只需要时钟和数据两根线),支持多主机冲突检测和多节点挂载(节点数不受限制,只要

【原创】IAR下使用noinit段的方法和指定地址的变量分配

noinit段对我们大多数搞单片机开发者来说并不陌生,该段如果被使用的话是会被编译器自动分配到芯片SRAM的一块区域中(注意是RAM区而非Flash),在该段定义的变量在除了掉电之外的任何芯片复位的情况下都不会被重新初始化,所以这个段的意义就大了,常

【原创】Codewarrior10.x下生成的image文件后缀都是.hex

坐在回北京的高铁上,最近忙碌的心慢慢静了下来,终于又可以整理整理头绪,把这段时间的积累和沉淀捋一捋,写几篇文章分享出来。我现在还真是非常享受高铁上这会儿静静的写文章的感觉(哎,我都为俺这辈子没做成一个作家感到可惜了,走上了程序员这条

【学习笔记】GCC编程被汇编文件名后缀的大‘S’和小‘s’坑了

不得不说,本人在高铁上写博客还是非常有感觉的,思维很发散啊,想起最近悲催的俏江南(有钱人的世界俺不懂,咋就这么能折腾呢,好好的企业就这样被套进去了),一下子来了灵感,打算写写大S和小s吧,咳咳,不过不要想多了,此S非彼S,此乃汇编文件的

【学习笔记】移植ARM CMSIS USB Stack的CDC类到飞思卡尔Kinetis KL25

现在越来越多的用户在使用USB的CDC类做USB虚拟串口,毕竟现在笔记本已经基本没有9针串口了,再去拿一个USB转串口线还是比较麻烦的,所以USBCDC类还是不错的选择。而好消息是,ARM官网为其Cortex-M系列(目前支持M0,M0+,M3,M4)定制化了一套非常精简的

【原创经典】Kinetis 16-bit ADC+DMA+定时器实现AutoScan自动通道扫描采样

这次是我第一次尝试在“原创”的后面又加了经典俩字,至于为啥(俺的东北话又情不自禁冒出来了,呵呵),一个是自己一时兴起(今天心情相比于前段时间稍好些),二个是我自认为本篇文章是俺的一篇得意之作而且对广大Kinetis用户也是非常有用的一篇技

【原创】Kinetis将Flash保护打开造成程序下载失败的解决办法

FlashProtection功能,即对某一段Flash空间进行写保护配置,防止某些敏感信息误被擦写,只允许读访问权限。这个功能在某些领域还是很有必要的,比如对Bootloader升级功能代码或者一些需要给每个芯片烧写序列号方便对产品跟踪管理等应用,都是需要对这

【原创】Kinetis一个Flash时钟门控引发的“血案”

到现在还记得当年广大观众调侃吐槽冯小刚的夜宴时网上比较火的一个视频——一个馒头引发的“血案”(估计现在90后00后没看过这个,当时师弟师妹们还在初高中为考大学做准备呢,应该没有机会看个电影啥的,不过也不一定绝对啊),结果最近在调试Kineti

【原创】如何使能Kinetis K64 Cortex-M4F内核的FPU功能

FPU即浮点运算单元是M4的一大特色亮点,虽然这个模块在ARMCortex-M4内核中是一个选配,不过飞思卡尔最新的M4产品几乎都把FPU功能加进去了,毕竟没增加多少钱,而且还多了一个亮点,何乐而不为呢,呵呵。虽然加入了这个FPU会提高一定的浮点运算性能,