通常不建议将printf与基于微控制器的嵌入式系统一起使用,这是行业最佳实践。避免使用printf的几个原因是,它通常效率低下,具有阻塞功能并且会中断嵌入式系统的实时行为。事实是… 继续阅读 使用循环缓冲区自定义printf的7个步骤
年: 2015年
嵌入式基础–使用便携式类型的5个提示
为了重用和移植嵌入式软件,绝对必须编写无歧义的代码。在此处的上一篇文章“了解可移植类型”中,讨论了可移植类型的基础,以及char,int和long的常见类型如何取决于体系结构和含义。… 继续阅读 嵌入式基础–使用便携式类型的5个提示
技巧和窍门– MicroPython
在为微控制器开发软件时,C编程语言已成为主要语言。该语言非常适合开发嵌入式系统时所需的低级硬件控制。还有其他编程语言(例如C ++和Java)在行业中找到了立足之地,即使… 继续阅读 技巧和窍门– MicroPython
工具类–隔离式USB转UART
连接ing an embedded systems UART to a PC through a USB to UART converter is something that every embedded software developer is familiar with. Many developers don’t leave home without a FTDI232R board from Sparkfun (//www.sparkfun.com/products/12731). The 上 ly problem with this great little tool though is that it doesn’t provide any protection to the PC … 继续阅读 工具类–隔离式USB转UART
嵌入式软件设计调优调查
开始进行嵌入式软件设计调整非常容易。该调查包括20个问题,这些问题是多项选择,可以在不到2分钟的时间内完成。结果将提供有关您的软件开发周期可能需要调整的地方的见解,以继续以最高效率运行。问题将… 继续阅读 嵌入式软件设计调优调查
设计新闻CEC–掌握ARM Cortex-M处理器
课程概述:物联网迫在眉睫,并且鉴于许多物联网产品所需的功能和处理能力,使用现代低功耗处理器架构至关重要。本课程将阐明使用STM32 32位微控制器的ARM Cortex-M处理器的内部工作原理。从工具链设置概述开始,… 继续阅读 设计新闻CEC–掌握ARM Cortex-M处理器
嵌入式基础– Header Guards
头保护是一项重要功能,应包含在所有头文件中。头文件保护的目的是防止宏,typedef,枚举和函数原型被意外地两次包含在源文件中。如果确实将这些定义包含两次,则可能会由于以下原因导致编译器错误:… 继续阅读 嵌入式基础– Header Guards
技巧和窍门–利用模板
嵌入式软件开发人员要承担许多不同的任务,以便从设计周期的需求阶段到生产和维护都采用产品。开发人员设计的每个产品都是不同的,但是技术,文档和设计周期的其他领域之间的共同点无疑是可以得到的。… 继续阅读 技巧和窍门–利用模板
可重复使用的按钮反跳模块
在许多嵌入式系统中,按钮是常见的组件,但是从快速查看防抖动算法来看,它们通常不会被编写为可移植或可重复使用。谷歌的快速搜索显示,有超过212,000个网站正在研究如何对按钮进行反跳操作,但其中大多数缺乏可伸缩性和可移植性。下边是… 继续阅读 可重复使用的按钮反跳模块
嵌入式基础–阻塞驱动程序与非阻塞驱动程序
可以采用许多不同的方式来设计和实现驱动程序,但是无论采用哪种方法,都必须预先考虑一个关键特性。阻止还是不阻止。这个决定不仅会影响驾驶员的效率,还会影响系统的实时行为。驱动程序阻塞… 继续阅读 嵌入式基础–阻塞驱动程序与非阻塞驱动程序