摘要: 对于一个嵌入式系统,可大可小,核心是一个或者多个MCU,然后配合各类外设,进行有序的组合。作为一个嵌入式项目的主管(本人偏软件),为了让这个项目能正常的运作起来,应该进行如下流程:1.第一次的审查在原理图设计开始之前,确定MCU和相关外设芯片选择,并且根据相关文档确认其是否能符合该项目预期的功能性能... 阅读全文
posted @ 2015-07-11 17:26 bandynewer 阅读(334) 评论(0) 推荐(0) 编辑
摘要: PID(比例微分积分)调节口诀1. PID常用口诀:参 数整定找最佳,从小到大顺序查,先是比例后积分,最后再把微分加,曲线振荡很频繁,比例度盘要放大,曲线漂浮绕大湾,比例度盘往小扳,曲线偏离回复慢,积 分时间往下降,曲线波动周期长,积分时间再加长,曲线振荡频率快,先把微分降下来,动差大来波动慢,微分... 阅读全文
posted @ 2015-02-26 13:23 bandynewer 阅读(2183) 评论(0) 推荐(0) 编辑
摘要: #if defined (__ICCARM__)// #include <intrinsics.h> /* IAR Intrinsics */ __intrinsic void __DSB(void);#endif 阅读全文
posted @ 2013-05-08 15:34 bandynewer 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 初阶简单的设计三中频率计。1.直接利用单片机或者MCU的额PWM及内部计数器 简单但是准确度和瞬时响应较差,2.利用有源晶振和与非门 ,单片机或者MCU计数器 ,较一方案响应速度稍高3.利用有源晶振和与非门,外部高速计数器,不同频率和精度的晶振高精度高响应测量稍后上原理图 阅读全文
posted @ 2012-08-15 14:22 bandynewer 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 最近对定时器进行了一次优化,碰到了这个问题,觉得很重要,记录一下。 阅读全文
posted @ 2012-08-15 13:58 bandynewer 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 开发驱动必备技能,时序图的识别解析。 虽然目前非常多的外设接口均采用标准接口进行连接,时序图基本固定或几近相同。但是不同的外设,以及不断更新的设备在各种电路的选择及要求上有所不同,读懂时序图是开发一个性能良好的驱动的一大助力。 外设连接线一般有:数据线,地址线,片选,时钟,使能,同步。在使用MCU提供的标准接口进行操作时只要设定好 阅读全文
posted @ 2012-07-21 03:25 bandynewer 阅读(618) 评论(2) 推荐(1) 编辑
摘要: 个人是从软件工程出身,现较成功转入嵌入式开发行业,在这里说说个人认为纯软件开发转嵌入式开发的需要知道的一些东西。 这个系列解答原来没有做过嵌入式的纯软件人才入门嵌入式可能存在的一些疑问。有些疑问并无关技术,而是知识欠缺一个引子。 还是以STM32为例。欢迎多多补充,多多提问,知无不言,希望你能找到你想要的答案。先看一下一个嵌入式系统的整体构架: Hardware :你能摸得到的东西,包括MCU 和各种外设。 硬件抽象层(HAL):它是代码层,将为内核、设备驱动程序和其它执行程序与特定的硬件差别隔离。这个术语多用于windows平台。我更倾向于将他归纳于BSP。 BSP:(board sup.. 阅读全文
posted @ 2012-07-06 16:02 bandynewer 阅读(4104) 评论(6) 推荐(4) 编辑
摘要: 目前这份工作的时间很短,8个月还不到吧。 思考很多,最近做的东西感觉写不下去,浪费了很多时间,但是事情又堆得跟山一样。天气很热,人很浮躁,更为烦躁。 想的最多的是我的出路,将来我做什么,我现在能做什么,为还要学什么。在这里我能在工作中学到我想要的吗。 未来我想做的工作需要我具备的又会是哪些呢。 我学到的能否为我敲开另一扇窗。 什么工作是一份好的嵌入式工作呢。 关于嵌入式的的工作需要具备的能力,有一些些想法: MCU和元件选型,到电路设计,到PCB设计,到驱动开发,到应用系统设计,最后用户交互。每一部分不说到精通,但也得到熟练的水平吧。 MCU和元件选型:了解各类MCU的构架。了解各种电子元件. 阅读全文
posted @ 2012-07-05 14:04 bandynewer 阅读(2360) 评论(10) 推荐(2) 编辑
摘要: 看一段代码:#define SSD1963_BASE ((u32)(0x6C000000)) //SSD1963设备基址#define SSD1963_REG_BASE ((u32)(0x6C000000)) //SSD1963寄存器基址#define SSD1963_RAM_BASE ((u32)(0x6C000008)) //SSD1963 RAM基址#define LCD_WR_REG(index) (*(volatile u16 *)(SSD1963_REG_BASE) = index)#define LCD_WR_Data(value) (*(volatile u16 *)(SS.. 阅读全文
posted @ 2012-07-04 17:49 bandynewer 阅读(757) 评论(1) 推荐(1) 编辑
摘要: 你所学到的东西必须在实战中去提高,最好办法就是去找个相关的工作。 我这边写的都很简单,但是你工作后就会发现,你工作需要的就是那么简单。不需要你去掌握多么多么高明的技术。 学嵌入式入门最重要的过程就是抄。下面就准备一起开抄。O(∩_∩)O哈哈~我这里假设你有一个开发板了,而且有屏幕,且硬件调试已经正常了。然后我们就开始写驱动吧STM32 FSMC配置启动RCC_AHBPeriph_FSMC时钟;GPIO配置(开GPIO时钟、复用推挽输出模式);选择使用的NOR/PSRAM的块,具体看硬件接哪个NEX Pin;禁止地址数据总线复用;操作的类型选择SRAM;选择16Bit数据传输宽度(SSD196. 阅读全文
posted @ 2012-06-30 01:24 bandynewer 阅读(258) 评论(0) 推荐(0) 编辑