
单片机编程
文章平均质量分 59
seamus
这个作者很懒,什么都没留下…
展开
-
单片机中无符号数运算出现的问题
在单片机编程中,我们经常会用到一些无符号数与有符号数的混合运算,另外我们所用的单片机很有可能是16位或者8位的,这样,编程时所用的一些变量的取值范围会对我们的 运算有所限制.比如说8位的单片机无符号数最大值为255,有符号最大数为127;16位单片机无符号数最大值为65535,有原创 2011-08-22 20:00:01 · 5583 阅读 · 2 评论 -
飞思卡尔MC9S12XS128功能模块驱动
用了一年多飞思卡尔MC9S12XS128这款处理器,现在总结下各个功能模块的驱动.//锁相环时钟的初始化 总线频率为40MHz(总线时钟为锁相环时钟的一半)//晶振为11.0592MHzvoid PLL_init(void) //PLLCLK=2*OSCCLK*(S原创 2011-08-22 18:12:33 · 6589 阅读 · 0 评论 -
关于 "ARM嵌入式系统开发--软件设计与优化" 这本书中的一个问题
这本书的第五章第5.10.2节 把除转换为乘(中文版P133页),在这一小节中有一句话:数学上,32位的右移会带来一个错误e2. 第一个问题:请问这里指的错误是什么,又是怎么来的? 接着的例5.13 标题是显示实际上除法是如何转化为乘法的.可我根据它的程序并没有看出它是原创 2011-08-29 16:20:39 · 2103 阅读 · 0 评论 -
STM32 NVIC
转自:http://blog.youkuaiyun.com/huangtonggao/article/details/6441876STM32(Cortex-M3)中有两个优先级的概念——抢占式优先级和响应优先级,有人把响应优先级称作'亚优先级'或'副优先级',每个中断源都需要被指定这两种优先级。具有高抢占式优先级的中断可以在具有低抢占式优先级的中断处理过程中被响应,即中断嵌套,或者说高抢占式转载 2011-12-10 10:57:04 · 14504 阅读 · 9 评论 -
GSM PDU模式发中文短信
GSM PDU模式发中文短信 网上的资料也有很多,但参考了这么多天才最终搞定,所以还是把自己的一点点体会写出来,做为记录,也方便其它后来者参考。 网上的资料很多都没有讲开发的环境,所以有些地方我还是感到很疑惑。 本人的开发环境: 硬件:GSM模块用的是西门子公司的MC52i, 控制心片为STM32, STM32与MC52i通过原创 2012-08-09 20:49:46 · 14782 阅读 · 2 评论 -
STM32F4xx FPU的设置(转)
转自:http://blog.renren.com/blog/256814551/844695191浮点运算一直是定点CPU的难题,比如一个简单的1.1+1.1,定点CPU必须要按照IEEE-754标准的算法来完成运算,对于8位单片机来说已经完全是噩梦,对32为单片机来说也不会有多大改善。虽然将浮点数进行Q化处理能充分发挥32位单片机的运算性能,但是精度受到限制而不会太高。对于有FPU(浮转载 2012-09-14 19:16:25 · 9764 阅读 · 2 评论 -
ARM浮点运算
原帖地址:http://blog.sina.com.cn/s/blog_602f87700100r5xe.html一:早期ARM上的浮点模拟器:早期的ARM没有协处理器,所以浮点运算是由CPU来模拟的,即所需浮点运算均在浮点运算模拟器(float math emulation)上进行,需要的浮点运算,常要耗费数千个循环才能执行完毕,因此特别缓慢。直到今天,在ARM Kern转载 2012-11-04 14:17:23 · 2030 阅读 · 0 评论 -
飞思卡尔MC9S12XS128串口相关功能函数
//串口的初始化//波特率为9600,8位数据格式,无校验,一个停止位,用查询方式发送void SCI_Init(void) { SCI0BDH = 0x00; SCI0BDL = 0x41; //波特率=BUSCLK/(16*BR[12:0])=38400 , BUSCLK=40MHz 14400_0xae 38400_0x41 230400_0x0b原创 2011-08-22 18:26:30 · 6707 阅读 · 0 评论