本博客为本人学生时代的技术博客,工作后10年已经不再更新,需要关注可以访问geekpm.com,点击访问!
摘要: /*******************************************************文件名 : Nokia5110Lcd.h描述 : 诺基亚 5110 LCD 驱动头文件作者 : xylch101编辑器 : Notepad 2日期 : 2008年06月27日*******************************************************//*******************************************************文件名 : Nokia5110Lcd.h描述 : 诺基亚 5110 LCD 驱动头... 阅读全文
posted @ 2010-12-01 21:38 emouse 阅读(539) 评论(0) 推荐(0) 编辑
摘要: 这是固件库里的一个例程,决定从这里入手依次学习一下外设,下面是这个例程的介绍:This example provides a basic communication between USART1 and USART2 using DMAcapability, flags and interrupts.First, the DMA transfers data from TxBuffer2 buffer to USART2 Transmit data register,then this data is sent to USART1. Data received by USART1 is tra 阅读全文
posted @ 2010-12-01 21:10 emouse 阅读(3794) 评论(0) 推荐(0) 编辑
摘要: STM32(Cortex-M3)中有两个优先级的概念——抢占式优先级和响应优先级,有人把响应优先级称作'亚优先级'或'副优先级',每个中断源都需要被指定这两种优先级。具有高抢占式优先级的中断可以在具有低抢占式优先级的中断处理过程中被响应,即中断嵌套,或者说高抢占式优先级的中断可以嵌套低抢占式优先级的中断。当两个中断源的抢占式优先级相同时,这两个中断将没有嵌套关系,当一个中断到来后,如果正在处理另一个中断,这个后到来的中断就要等到前一个中断处理完之后才能被处理。如果这两个中断同时到达,则中断控制器根据他们的响应优先级高低来决定先处理哪一个;如果他们的抢占式优先级和 阅读全文
posted @ 2010-11-28 15:59 emouse 阅读(387) 评论(0) 推荐(0) 编辑
摘要: 新型的按键扫描程序 不过我在网上游逛了很久,也看过不少源程序了,没有发现这种按键处理办法的踪迹,所以,我将他共享出来,和广大同僚们共勉。我非常坚信这种按键处理办法的便捷和高效,你可以移植到任何一种嵌入式处理器上面,因为C语言强大的可移植性。 同时,这里面用到了一些分层的思想,在单片机当中也是相当有用的,也是本文的另外一个重点。 对于老鸟,我建议直接看那两个表达式,然后自己想想就会懂的了,也不需要听我后面的自吹自擂了,我可没有班门弄斧的意思,hoho~~但是对于新手,我建议将全文看完。因为这是实际项目中总结出来的经验,学校里面学不到的东西。 以下假设你懂C语言,因为纯粹的C语言描述,所以和处理器 阅读全文
posted @ 2010-11-23 10:23 emouse 阅读(496) 评论(0) 推荐(1) 编辑
摘要: 今天刚看了一个ADC采集的程序,和之前用其他单片机写的程序还是有比较大的差别,这个差别主要就在DMA。这里面总结一下,有一部分是转载别人的。什么是STM32的DMA?其全称是:Direct Memory Access;根据ST公司提供的相关信息,DMA是STM32中一个独立与Cortex-M3内核的模块,有点类似与ADC、PWM、TIMER等模块;主要功能是通信“桥梁”的作用,可以将所有外设映射的寄存器“连接”起来,这样就可以高速问各寄存器,其传输不受CPU的支配,传输还是双向的;例如,从“表面”上看,它可以将flash中的数据与储存器中变量建立通讯,还可以将一外设的积存器或缓冲器与另外设的寄 阅读全文
posted @ 2010-11-12 12:30 emouse 阅读(3701) 评论(0) 推荐(0) 编辑
摘要: 有些人不想将自己写的源代码公开,但是同时库文件又需要让别人能够正常调用,那封装成lib的格式就是一个好方法,以ST自带的FWLIB库为例,里面包含了很多头文件和C文件,C文件中包含了很多程序,那么我们可以把这些C文件给封装起来,这样这部分程序对于其他人来说就变成不可见的了。具体操作我试验了一些,只需要将这些C文件单独放到一个工程下,经过简单的设置编译一下即可,后面调用的时候包含相应的头文件之后把生成的LIB文件加入到工程中即可。 阅读全文
posted @ 2010-11-12 10:30 emouse 阅读(2718) 评论(0) 推荐(0) 编辑
摘要: 同样因为项目的关系,现在必须进行STM32的学习了,不过对我来说,学习STM32的热情总要比DSP要高的,DSP只能在放一放了。从网上买了红牛的STM32的开发板,初次使用感觉不错,加上keil nVision4.12的编辑环境比原来用ADS1.2爽了很多,后面会陆续记录一些。 阅读全文
posted @ 2010-11-12 10:22 emouse 阅读(327) 评论(0) 推荐(0) 编辑
摘要: 前一段时间一直忙着保研和科协工作,荒废了很多,后面围绕着项目重新回到DSP的学习中,得好好计划一下了。 阅读全文
posted @ 2010-10-23 10:05 emouse 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 本程序采用的是八路ADC单次采集的模式,根据配置,在单次的模式下转换完成后ADC12SC会自动复位,因此需要在循环中进行ADC12CTL0 |= ADC12SC;操作,而如果配置成连续采集的模式,只需要在程序开始将ADC12SC置位一次就可以,但是就需要注意当进入中断后如果不手动禁止中断会一直停留在循环中,因此在采集到需要的数据后需要将ADC关闭或者中断使能禁止才能重新回到主函数,这一点需要注意。八路单次采集的程序如下:/***************************************八路AD多路单次采集基亚5110液晶显示采集模式:多路单次******************* 阅读全文
posted @ 2010-08-12 10:21 emouse 阅读(447) 评论(0) 推荐(1) 编辑
摘要: 同样是开发板中的例程,对关键的地方做了说明,程序如下:/*********************************************************程序注意点:首先可以选择是否开启内部参考电压还是使用外部参考电压每个通道可以独立选择参考电压如果连接了外部参考电压应该注意关闭内部参考电压防止损坏单片机程序功能:MCU的片内ADC对P6.0端口的电压进行转换 将模拟电压值显示在1602液晶上。----------------------------------------------------------拨码开关设置:将LCD位拨至ON,其余位拨至OFF测... 阅读全文
posted @ 2010-08-08 23:16 emouse 阅读(760) 评论(0) 推荐(0) 编辑