-
单片机我们都用过,我们知道单片机的FLASH有4K的,有8K的,单片机程序我们也写过,但是我们写好的程序有多大,你知道吗?程序写好并编译后生成hex文件,这个hex文件就是要下载到单片机里的文件,这个文件的大小不能超过单片机的FLASH大小,否则就要优化程序或者选用更大FLASH的单片机。如下图所示,就是一个编译好的hex文件:我们发现他后边的大小是9KB,这个是程序的大小吗?其实这...[详细]
-
***error65:accessviolationat0x40023800:no'read'permissionkeil软件仿真simulator时没法run只能点一下走一下。提示no'read'permission。解决办法:在工程下新建一个debug.ini文件,在文件中写入map0x40000000,0x4...[详细]
-
一、通讯参数:通讯参数包括数据位,停止位,波特率、校验方式。数据位、停止位、波特率由单片机决定。组态王中的设定和单片机一致即可。校验方式参照数据传输格式中相关部分。二、数据传输格式:格式1、组态王发送地址请求格式:(此时检验位为1) ENQ Sta EOT CRC 格式2、单片机应答地址...[详细]
-
尽管受到32位ArmCortex-M处理器等平台的竞争,但今天的8位微控制器(MCU)仍占据整个MCU市场的很大一部分。嵌入式市场中8位MCU的持续优势仍然是多种因素,包括低成本,简单,快速控制功能以及具有广泛工具库的成熟生态系统。由于8位已经成熟为MCU技术,单价极低,但是在寻找低成本8位MCU时,仍然有许多价格类似的产品,依然要进行选型评判。最重要的选型是综合成本的考量,尤其是对于...[详细]
-
STM32三种定时器:高级控制定时器(TIM1与TIM8)、通用定时器(TIM2~TIM5)、基本定时器(TIM6与TIM7)。TIM1与TIM8定时器的功能(1)16位向上、向下、向上/下自动装载计数器(2)16位可编程(可以实时修改)预分频器,计数器时钟频率的分频系数为1~65535之间的任意数值(3)多达4个独立通道:─输入捕获─输出比较─PWM生成(边缘或中间...[详细]
-
昨天调试了stm32f407的ADC功能,因为那个恼人的printf函数问题这篇ADC文章一直没有发表出来,今天5.1归来抽空补上。功能为实现ADC的单通道电压采集,并实现DMA数据管理,同时加了ADC看门狗功能,并用printf函数通过串口返回采集值与换算后的实际电压值。代码如下:/********************************************************...[详细]
-
一、原理图 ●MSP430F5529LaunchPad实验板上仅有的两个独立按键和LED。二、I/O端口常用操作C语言描述及常用C语言解析1、MSP430头文件中的标准位 在每一个具体的430型号单片机的头文件中都可以找到(如msp430F5529.h)。/************************************************************...[详细]
-
ARM体系变种的简介有人会很奇怪一件事情,ARM居然会变种,不会是基因突变了吧,呵呵,其实ARM变种通俗一点来讲呢,就是ARM突然具备了一种特定的功能!并非是基因突变哦!ARM是reboot好不好?回到顶部ARM体系变种首先让我们通过一个表格来看看ARM变种。了解ARM变种涉及到了什么!现在让我来为大家解释一下这张图:ARMv你就不用去管它了v后面对应的是ARM指令集...[详细]
-
当你需要提升产品性能时,你也许会考虑将你现有MSP430MCU设计移植到TI全新高性能MSP432MCU平台上。或者,当你需要降低产品功耗时,你也许会考虑将现有的ARM设计移植到我们全新的低功耗MSP432MCU平台上。用32位ARM系统进行开发时通常需要立即应对多个操作—在这种情况下,实时操作系统(RTOS)会派得上用场。MSP432MCU提供与数个TIRTOS解决方案(其...[详细]
-
定位卡的设计:定位模块以STM32为主控制核心。在该定位模块中使用的是ST(意法半导体)STM32WCBU6x芯片,该芯片采用32位ARMCortex-M3内核;STM32WCBU6x集成了2.4GHzIEEE8.2.15.4兼容的收发器,拥有128KB的Flash和8KB的RAM,是一款高性能的无线片上系统(SoC)。该主控制原理图如图1所示。图1主控制器原理图电路分析:...[详细]
-
按键状态led显示#includereg52.h#defineucharunsignedchar#defineuintunsignedintsbitLED1=P0^0;sbitLED2=P0^1;sbitLED3=P0^2;sbitLED4=P0^3;sbitK1=P1^0;sbitK2=P1^1;sbitK3=P1...[详细]
-
这是一个基于51单片机的轮式机器人的运动控制系统在网上找了很多的资料,做得都不是很全。上传的是我的电路,用的还是老牌芯片L293,主控芯片是51单片机。这个电路使用个光耦隔离,电机地和电源地隔离,还用了一个74HC04做反相器,利于编程。电路图倒是很简单,只是没人做的这么全面。不多说了,上图。单片机部分不说了,L293部分用的BD1什么的是磁珠,用磁珠来实现单点接地和电源隔离。那几个I...[详细]
-
使用野火的板子进行Contiki移植:开发环境:IAR+STM32代码移植基本上参照xukai871105前辈的教程,不同之处是使用的是寄存器的操作方式,并没有是用STM32的库函数。代码如下:#includecontiki.h#includestm32/usart/usart.h/*Forusart_puts()*/#includestdio.h/...[详细]
-
利用中断接收数据较为简单,但利用中断去发送数据弄了半天才搞定。。。注:在设置USART的控制寄存器的TE位时,会发送一个空闲帧,于是便会进入中断。错误的做法本来的思路是中断里的代码尽可能地少,发送字符放在主函数中,类似这样while(1){ USART_SendData(DEBUG_USARTx,Buf); //Delay(0xfffff); if(j...[详细]
-
本次分享关于STM32内部FLASH的笔记。STM32芯片内部的FLASH存储器,主要用于存储我们代码。如果内部FLASH存储完我们的代码还有剩余的空间,那么这些剩余的空间我们就可以利用起来,存储一些需要掉电保存的数据。本文以STM32103ZET6为例。STM32103ZET6属于大容量产品,其闪存模块组织如下:其主存储器大小为512KB,分为256页,每页大小都为2K...[详细]