-
输出极性(Polarity):基于正逻辑,即高电平为1,低电平为01.输出极性高(Polarity_High):高电平1为有效状态(active),低电平0为无效状态(inactive)2.输出极性低(Polarity_Low):低电平0为有效状态(active),高电平1为无效状态(inactive)PWMMode:分为边沿对齐和中心对齐模式对应向上/下计数,中心对...[详细]
-
今天上午写了atmega16的I2C硬件接口程序,程序不难,只是给初学的朋友一个思路,不过通过和51的软件模拟I2C程序比较发现,AVR的I2C硬件接口使程序更简单了,程序功能:先由atmega16向EEPROM中某地址写数字71,然后再从EEPROM里读出来显示到数码管上;#includeiom16v.h#includeavrdef.hunsignedcharc...[详细]
-
voidTIM3_GPIOB5_Config(void){GPIO_InitTypeDefGPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);GPIO_AFIODeInit()...[详细]
-
一、什么叫mcu?Mcu其实就是单片机,它是英文MicrocontrollerUnit的简称,中文名字叫微控制器。这个时候可能很多又要问了:单片机是什么?单片机简单来说就是一个可以用来做智能电子产品的芯片,具体看下图。大家每天有90%的几率能接触到基于单片机这种芯片开发的产品。比如说家里的电饭煲、电磁炉、微波炉、空调、洗衣机内部其实都是使用单片机配合不同电路去实现的。除此以外,...[详细]
-
;----------------------------------------------------------------------------------------P1口外接4×4按键,常用的读出键值的方法有“查表法”和“反转法”。查表法的程序最为简短,但是稍多占用一点存储空间;反转法的程序执行速度最快,只是要求接口是双向的。下面分别给出了使用查表法和反转法读取键值的程序。...[详细]
-
1,寄存器开发【难度值:难】寄存器开发是一种直接访问微控制器寄存器的编程方法,它提供了对硬件的极大灵活性和直接控制。在寄存器级开发中,程序员通过直接写入和读取寄存器来配置和控制微控制器的外设,而不依赖高级的抽象层。以下是寄存器级开发的一般步骤和示例:1.包含头文件在程序中包含与目标微控制器系列相关的寄存器定义头文件。#includestm32f4xx.h2.初始化时钟配置系统...[详细]
-
开发环境:mplab3.45harmony1.09xc321.42源代码下载:http://download.csdn.net/detail/zn2857/9712707源代码分析:voidAPP_Tasks(void){/*Checktheapplication'scurrentstate.*/switch(appD...[详细]
-
(一)EM4100的数据格式现在让我们来解释一下。(1)首先第一行,是9个“1”,这是EM4100固定的格式。(2)之后的D00~D03,就是第一个ID号,P0代表的是第一行的偶校验(例:0000_0/0001_1/0110_0)当不为偶数时,偶校验置1。P0-P9均为每行前四位的偶校验。(3)PC0~PC3为每列(P0-P9)的偶校验,(例:0000000110_0)(5)举个...[详细]
-
本文根据上一篇TQ2440开发板学习纪实(1)—最简单的独立运行汇编程序进化而来。0ARM堆栈(Stack)基础知识ARM支持满减类型的堆栈,满的意思是说堆栈指针SP(即R13)总是指向刚刚入栈的数据单元。与满相对应的就是不满,这种类型的栈指针SP指向栈顶的下一个空白单元。减的意思是说,栈底的内存地址大,栈顶地址小,压入数据时,栈向地址小的方向扩展。目前我们只有4KB的内存可用,...[详细]
-
#includepic.h#defineucharunsignedchar#defineuintunsignedint__CONFIG(0x3B31);constuchartable={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71...[详细]
-
从业十年,教你单片机入门第13讲:为什么是二进制?人类日常生活明明是十进制的,为何数字电子领域偏要选择二进制?这是由数字硬件电路决定的。人有十个手指头,人可以发出十种不同声音来命名0,1,2,3...9这些数字,人可以肉眼识别十种不同状态的信息,但是数字电路要直接处理十进制却很难,相对来说,二进制就轻松多了。一颗LED灯的亮与灭,一根IO口的输出是高电平和低电平,读取某一个点的电压是高于2V还...[详细]
-
day03实验一:GPIO==============================================================一、用户手册导读RAMROM--可以执行程序硬盘nandflash--不能执行程序,必须被加载到内存中,才能执行1.资源特性:CPUS3c2440400MHz内存(sdram)2个32M并联=64MBNor...[详细]
-
1.如果你不跑操作系统,CPU肯定一直都是100%使用的,哪怕你里面是延时等待,CPU也是一直在执行空语句nop,因为STM32里面是有一个CPU。2.对于stm32总是百分百。只是有多少时间空闲,多少时间干活!3.楼主的意思是实际CPU用来干正事的时间,在整个时间里的比例,打个比方,如果工作50mS,再等待200mS,完成一个大循环,那么CPU的使用率就是20%。如果...[详细]
-
程序设计思路:通过状态寄存器与通用寄存器之间数据传输指令MRS/MSR实现,修改时应采用“读取-修改-写回”三个步骤来实现。每次只需修改相应的域即可,如本次程序只修改C控制域。同时应注意系统模式与用户模式共用SP,只需初始化其一即可。程序代码如下:(1)在GNUARM开发环境下编程:.equ_ISR_STARTADDRESS,0xC7FF000@设置栈的内存基地址.eq...[详细]
-
微控制器及触摸技术解决方案的领导厂商爱特梅尔公司(Atmel®Corporation)宣布现在付运及批量生产全新SAMD20产品,SAMD20MCU是基于ARM®Cortex®-M0+处理器的新型超低功率嵌入式快闪微控制器系列中的首个产品系列。在这个物联网(IoT)时代中,用于楼宇自动化、消费电子产品、智能计量,以及工业控制产品的智能性和连接性日益增强。使用爱特梅尔为批量市...[详细]