-
Ⅰ、概述上一篇文章讲述的内容是:三通道逐次转换(单次、单通道软件触发),也就是说3条通道要三次软件触发才能完成转换,而且是通过软件读取转换数值。本文讲述三通道DMA连续转换(3通道、软件单次触发),也就是说3条通道只需要一次软件触发就能完成转换,使用DMA保存在数值。上一篇文章实例是使用间断模式单次触发单条通道采集,本文是使用DMA模式单次触发三条通道采集。使用DMA传输的好处就是效率...[详细]
-
堆栈是一种具有后进先出(LIFO---LastInFirstOut)特殊访问属性的存储结构。堆栈一般使用RAM物理资源作为存储体,再加上LIFO访问接口实现。堆栈的实现方法:在随机存储器区划出一块区域作为堆栈区,数据可以一个个顺序地存入(压入)到这个区域之中,这个过程称为压栈(push)。通常用一个指针(堆栈指针SP---Stack...[详细]
-
STC12C系列增强型单片机片上扩展了基本51单片机的功能,如提供了PCA/PWM接口,定时器能工作在1T模式下(基本51单片机的时钟是Fosc的12分频,1T模式下1分频)。PCA可以用于脉宽测量,但是,protues暂不支持该系列单片机的仿真功能,反复烧写也挺麻烦,所以还是先用基本51单片机实现该功能,在后面的博文里在实现PCA测量脉宽。实现思路如下:TMOD最高位GATEn置位后,...[详细]
-
简单归纳一下:快速PWM,是由匹配值和TOP值决定的。而TOP值可以是固定的(方波产生模式5,6,7),又或者可编程(方波产生模式14,15)。方波产生模式5,6,7分别对应0x00ff,0x01ff,0x03ff的TOP值,而模式14,15的TOP值分别为1CR1,和OCR1A来决定。从视频教程中我们知道模式15需要牺牲OC1A作为代价,(OC1A=PD5)OCR1A...[详细]
-
/*****************************************************************************文件名称:PORT.H文件标识:_PORT_H_摘要:AVR单片机的通用定时/计数器中断控制头文件当前版本:V1.0********************************************...[详细]
-
中断这个问题从学习stm32一开始就困扰着我,我想估计很多初学者都会有这样的问题。曾经问过隔壁实验室的职工,人家没告诉我,让我自己回去理解。同行是冤家,这句话很在理。首先提出我对几个中断的理解不了的问题:1、中断是干嘛的?2、中断是如何从函数进入的?3、中断相关设置是如何设置的?第一个问题:关于中断可以有一个很形象的解释:你正在吃饭,突然尿急了,准备去尿尿,中断了吃饭的这一过程...[详细]
-
前言本文通过使用STM32F103C8T6作为主控MCU,ESP8266作为数据透传模块,接入机智云AIoT云平台,通过在线智能产品,实现了远程联网、温湿度监测、APP控制等功能。进入正文1、ESP8266烧写Gagent固件在网上购买的ESP8266并不能直接接入机智云,所以需要烧写Gagent固件。1.1Gagent是什么?1.2下载Gagent:download.gi...[详细]
-
摘要:介绍了一个由ARM处理器S3C44B0X与M590EGPRS模块构成的家庭远程医疗监护系统。笔者介绍了S3C44B0X以及M590的性能特点,主要外围接口电路的设计,以及软件设计架构和系统的组成原理,并给出了GPRS模块的软件配置方法。经过实验测试,本系统在应用中取得了比较好的效果。 近年来,在家庭修养的病人由于不能得到及时看护和抢救,死亡的人数大量提高。而随着老...[详细]
-
stm32启动流程分析这个是一个汇编与c语言结合的流程stm32入口为startup_stm32f10x_hd.s(即第一个执行的文件)在这个文件中首先定义定义CSTACK数据段和.intvec代码段还有全局函数和全局变量然后就是向量表在然后就是向量表中的定义了各个函数。同时复位函数作为程序运行的第一个函数里面设置了时钟和main入口等就这样进入了main然后就调用了各个...[详细]
-
使用散转表可以尽可能的减少程序的编写,方便。减少判断次数。程序名:散转程序试验;说明:开使后led1亮,按下任何按键,寄存器r0从零加起,根据r0内容,程序散转到;相应处执行,以点亮不同的led;入口:p3.0--p3.3;出口:P0;练习日期:2007--06--17好心情;修正日期:2007--06--18;修正内容:将原来用ljmp的部分换为ajmp...[详细]
-
这种问题一般出现在中容量(或小容量)向大容量移植程序的时候,出现原因也很简单,因为中容量设备里没有UART4自然也就没有这个中断了。我是由STM32F103C8T6向ZET6移植程序时出现的。解决方法是:1.确认你的设备是大容量设备(确认有UART4)2.确认C/C++中define的是“STM32F10X_HD”而不是“STM32F10X_MD”3.确认替换了启动文件(“start...[详细]
-
学习单片机的教程已经很普遍了,让我来简单的介绍一下吧!接触单片机已有6个月了,自我觉得很有意思。单片机无非就那样子,只要撑握了单片机芯片内部规律,谁都会写.还有就是多看一些别人写的程序,并做一分析,了解他们思路.我觉得只要思路是对了,写起程序来如鱼得水。非常简单.下面我来介绍下单片机几点要害.请大家认真看!一、什么是单片机呢?1、大家知道一台电脑是于那几个部件组成的啊?(1)CPU(...[详细]
-
一、CPU访问芯片的条件 CPU通过访问存储控制器,来读取外部设备的数据。 CPU想访问一个芯片,需要如下条件(配置信息):地址线数据线:8位/16位/32位数据宽度时钟/频率 其他芯片相关的特性:比如SDRAM,有行地址、列地址和bank SDRAM的访问和表格检索的原理一样,先指定一个行(Row),再指定一个列(Columu),就可以准确找到所需...[详细]
-
USB用于规范电脑与外部设备的连接和通讯。是应用在PC领域的接口技术。USB接口支持设备的即插即用和热插拔功能发展到现在已经有USB1.0/1.1/2.0/3.0等多个版本。目前用的最多的就是USB1.1和USB2.0,USB3.0目前已经开始普及。STM32F103自带的USB符合USB2.0规范。USB驱动软件开发usb_core(移植过程,代码一...[详细]
-
GD32和W5500是两款不同的产品,分别属于不同领域的芯片。GD32是一款32位微处理器,而W5500则是一款完整的以太网控制器,它们在用途上有着明显的区别。1.用途GD32是一款功能强大的32位微处理器,适用于各种应用。它可以满足需要高性能的应用,如嵌入式系统、智能家居、工业控制、医疗设备、汽车控制等。而W5500则是一款专门的以太网控制器,主要用于建立基于以太网的网络连接,应用于数据...[详细]