跳转到主要内容
MCU加油站
Toggle navigation
首页
技术
新闻
下载中心
互动专区
视频
评测
活动
博客
登录
注册
技术
ARM编译中的RO、RW和ZI DATA区段
ARM程序(指在ARM系统中正在执行的程序,而非保存在ROM中的bin文件)的组成 一个ARM程序包含3部分:RO段,RW段和ZI段 RO是程序中的指令和常量 RW是程序中的已初始化变量 ZI是程序中的未初始化的变量 由以上3点说明可以理解为: RO就是readonly, RW就是read/write, ZI就是zero ARM映像文件的组成 所谓ARM映像文件就是指烧录到ROM中的bin文件,...
阅读详情
2016-09-30 |
ARM
用I/O口模拟总线时序
在做总线通信过程中,我们很少会用到这样方法,一般在我们选择MCU的时候都会带有你所需要的通信接口。但是,对于一些简单的通信应该用的场合,一 般在一些传感器的数据通信过程中,传感器厂商会将通信协议做一些改变,这些通信协议也没有一个标准的协议规定。以至于传感器的兼容性很差,甚至有时候找不 到能够与其通信的MCU,这个时候有一种方法就是用I/O口来模拟通信总线(由于I/...
阅读详情
2016-09-29 |
I/O口
信号逻辑电平标准详解
信号的逻辑电平经历了从单端信号到差分信号、从低速信号到高速信号的发展过程。最基本的单端信号逻辑电平为CMOS、TTL,在此基础上随着电压摆幅的降低,出现LVCMOS、LVTTL等逻辑电平,随着信号速率的提升又出现ECL、PECL、LVPECL、LVDS、CML等差分信号逻辑电平。 1、信号逻辑电平参数概念定义 逻辑电平是指数字信号电压的高、低电平,相关参数定义如下:
2016-09-29 |
信号逻辑电平
SPI总线协议及SPI时序图详解
SPI是一个环形总线结构,由ss(cs)、sck、sdi、sdo构成,其时序其实很简单,主要是在sck的控制下,两个双向移位寄存器进行数据交换。 SPI总线是Motorola公司推出的三线同步接口,同步串行3线方式进行通信:一条时钟线SCK,一条数据输入线MOSI,一条数据输出线MISO;用于 CPU与各种外围器件进行全双工、同步串行通讯。SPI主要特点有:可以同时发出和接收串行数据;...
阅读详情
2016-09-28 |
单片机
,
SPI
如何写出高效优美的单片机C语言代码?
程序能跑起来并不见得你的代码就是很好的c代码了,衡量代码的好坏应该从以下几个方面来看: 1、代码稳定,没有隐患。 2、执行效率高。 3、可读性高。 4、便于移植。 下面总结一些网络上的技巧、经验! 1、如果可以的话少用库函数,便于不同的mcu和编译器间的移植 2、选择合适的算法和数据结构 应该熟悉算法语言,知道各种算法的优缺点,具体资料请参见相应的参考资料,有很多计算机书籍上都有介绍。...
阅读详情
2016-09-28 |
编程工具
知道进程和线程,那你知道管程、协程和纤程吗?
每天辣么多的技术干货和前沿技术需要关注,但是在我们这个需要积累和沉淀的技术领域,好多的专业词汇,或许您早已跟它混了个脸熟,然而这个词汇背后的东西您或许还不知道。 今天就来说说这几个程:进程、线程、管程、协程和纤程。 线程 线程(Threads),有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元,出现于19世纪80年代。线程是进程中的一个实体,...
阅读详情
2016-09-28 |
管程
,
协程
,
纤程
嵌入式C语言之模块化编程
当你在一个项目小组做一个相对较复杂的工程时,意味着你不再独自单干。你需要和你的小组成员分工合作,一起完成项目,这就要求小组成员各自负责一部分工程。比如你可能只是负责通讯或者显示这一块。这个时候,你就应该将自己的这一块程序写成一个模块,单独调试,留出接口供其它模块调用。最后,小组成员都将自己负责的模块写完并调试无误后,由项目组长进行组合调试。像这些场合就要求程序必须模块化。模块化的好处是很多的,...
阅读详情
2016-09-27 |
编程工具,Keil相关
资深工程师对PCB设计的经验之谈
作为一个电子工程师,设计电路是一项必备的硬功夫,但是原理设计再完美,如果电路板设计不合理性能将大打折扣,严重时甚至不能正常工作。根据我的经验,我总结出以下一些PCB设计中应该注意的地方,希望能对您有所启示。 不管用什么软件,PCB设计有个大致的程序,按顺序来会省时省力,因此我将按制作流程来介绍一下。(由于protel界面风格与windows视窗接近,操作习惯也相近,且有强大的仿真功能,...
阅读详情
2016-09-27 |
PCB 设计
使用python下的pyserial进行串口测试和设备调用
硬件开发不可避免要与串口打交道,使用python下的pyserial可以使串口测试和设备调用的工作自动化。这里介绍pyserial的一些基础知识。 1、安装pyserial linux上直接安装: #python2 sudo pip install pyserial #或者python3 sudo pip3 install pyserial 2、Bytes与string的转换...
阅读详情
2016-09-27 |
python
,
pyserial
,
串口
聊聊上电复位电路的那些事儿
工程师们在调试各式各样的板子时,常会出现开机出现错误,系统无法正常打开,接下来我们将列举电路板上电时可能引发的一些常见系统问题,并说明了保证电路板正确初始化的基本原则。 许多IC 都包含POR电路,上电复位,即Power-on Reset),其作用是保证板子上电后,模拟和数字模块初始化至已知状态。 POR三步走:电源电压达到阈值电压——POR电路就会释放内部复位信号——状态机开始初始化器件。 ...
阅读详情
2016-09-27 |
上电复位
如何摆脱单片机设计过程中的电磁干扰
对电磁干扰的设计我们主要从硬件和软件方面进行设计处理,下面就是从单片机的PCB设计到软件处理方面来介绍对电磁兼容性的处理。 一、影响EMC的因数 1、电压 电源电压越高,意味着电压振幅越大,发射就更多,而低电源电压影响敏感度。 2、频率 高频产生更多的发射,周期性信号产生更多的发射。在高频单片机系统中,当器件开关时产生电流尖峰信号;在模拟系统中,当负载电流变化时产生电流尖峰信号。 3、...
阅读详情
2016-09-26 |
单片机
,
电磁干扰
MCU上的无锁原子读操作
原子读操作是在MCU并发编程中常用的操作,简单举个例子来阐述问题: 我们使用RTOS或裸机状态编程时,必然需要一个全局时钟基准,通常是在一个定时器中断中累加实现,简化代码如下: static unsigned long volatile __jiffies = 0; /* 全局时钟基准节拍累加器 */ ISR_TIMER() /*...
阅读详情
2016-09-26 |
MCU
,
原子读操作
浅析 MCU 嵌入式系统的领域分析方法
作者:代文豪、罗克露、雷健 在不断的发展的 MCU 嵌入式系统领域中,软件危机所带来的危害也日渐显现。如何利用软件重用的相关方法来解决这一问题成为当今研究的热点。领域分析是识别、捕捉、组织、分析和表示软件域中相关信息,确定软件的体系结构、框架和构件,以支持软件重用的软件工程过程,是解决重用问题的关键技术之一。通过对领域分析的相关概念、方法、过程以及产品的研究,从而得出在 MCU...
阅读详情
2016-09-26 |
MCU
简析对通用输入输出GPIO的理解
一、GPIO简介 I/O(Input/Output)接口是一颗微控制器必须具备的最基本外设功能。通常在ARM里,所有I/O都是通用的,称为GPIO(General Purpose Input/Output)。每个GPIO端口包含8个管脚,如PA端口是PA0~PA7。GPIO模块支持多个可编程输入/输出管脚(具体取决于与GPIO复用的外设的使用情况)。GPIO模块包含以下特性: 1)...
阅读详情
2016-09-23 |
单片机
MCU上电复位原理
① 上电复位:是由外部总线产生的一种异步复位,单片机电压监测电路检测到电源电压 VDD 上升时,会产生一个上电复位脉冲,由内部计时器进行延时后等待电源电压上升到可以工作的电压后,整个单片机系统就完成了上电复位。注意上电复位电路并不会检测延时过后的系统电压,如果此时的电压低于单片机的最小工作电压,整个上电复位就失效了。 图所示是整个上电复位的过程,其步骤如下: 1)电源电压 VDD...
阅读详情
2016-09-23 |
MCU
‹‹
253 中的第 241
››