-
方法1:修改熔丝位,禁用JTAG.(缺点:禁用后不能用JTAG了,除非用ISP再开启)方法2:在程序中禁用JTAG,调用以下函数:inlinevoidJTAG_Disable(void){unsignedchartemp=0;temp=MCUCSR|(1JTD);MCUCSR=temp;MCUCSR=temp;}如需重新...[详细]
-
这里和上面一篇数字秒表差不多,只不过复杂在多了四个七段显示屏,整个显示分为时、分、秒三部分。时为24时置为0,分为60时置为0并向时进1,秒为60时置为0并向分进1。程序:#includereg52.h#includeINTRINS.Hvoiddelay(unsignedchardly){unsignedchari,j;for(i=...[详细]
-
一、ARM中异常中断的类型:异常中断名称含义复位(Reset)当处理器复位引脚有效时,系统产生复位异常中断,程序跳转到复位异常中断处理程序处执行。复位异常中断通常用在下面几种情况:1、系统加电时2、系统复位时3、跳转到复位中断向量处执行,称为软复位未定义的指令当ARM处理器或者是系统中协处理器认为当前指令未定义时,产生未定义指令异常中断。可以通过该异常中断机制仿真浮点...[详细]
-
如何评估MCU满足项目需求?了解MCU的基本特性和规格:首先需要了解MCU的处理器内核、存储器、时钟、外设和接口等基本特性和规格,以及支持的编程语言和开发工具等。确定项目需求:在了解MCU的基本特性和规格后,需要确定项目的需求,包括需要控制的设备或执行的任务、需要处理的数据量和信号、需要的处理能力和存储空间、需要的功耗和可靠性要求等。这些需求将指导后续的MCU评估和选择。评估MCU的...[详细]
-
AccessingAbsoluteMemoryLocations绝对存储器访问C编程语言并不支持明确地提定一个静态或全部变量的存储位置。有三种方法可以明确地参考存储器位置:(1)绝对存储器访问宏(2)连接器位置控制(3)关键字_at_AbsoluteMemoryAccessMacros可以使用作为Cx51库一部分的绝对存储器访问宏。使用以下宏可以直接访问存储器...[详细]
-
如果是驱动led,那么用1K左右的就行了。如果希望亮度大一些,电阻可减小,最小不要小于200欧姆,否则电流太大;如果希望亮度小一些,电阻可增大,增加到多少呢,主要看亮度情况,以亮度合适为准,一般来说超过3K以上时,亮度就很弱了,但是对于超高亮度的LED,有时候电阻为10K时觉得亮度还能够用。我通常就用1k的。对于驱动光耦合器,如果是高电位有效,即耦合器输入端接端口和地之间,那么和LED的情况...[详细]
-
超声波测距模块是HC-SR04,C-SR04超声波测距模块可提供2cm-400cm的非接触式距离感测功能,测距精度可达高到3mm;模块包括超声波发射器、接收器与控制电路。HC-SR04基本工作原理:(1)采用IO口TRIG触发测距,给最少10us的高电平信呈。(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;(3)有信号返回,通过IO口ECHO输出一个高电平,高电平持...[详细]
-
端口控制描述(详细见S3C2440的数据手册)端口配置寄存器(GPACON至GPJCON)端口数据寄存器(GPADAT至GPJDAT)端口上拉寄存器(GPBUP至GPJUP)杂项控制寄存器外部中断控制寄存器用一个实例(LED流水灯)来学习下输入/输出端口(在TQ2440开发板中是用GPB5~8控制LED1~4)#include2440addr...[详细]
-
先声明一点,我自己不是高手,也不是大神,只是积累了一点点,想分享一下罢了!还记得那会我在初学51单片机时,当得知P89V51系列单片机支持在线仿真、跟踪代码时,那是一个兴奋啊,无论如何都要弄一个来玩玩,进行代码跟踪!当在开始接触和学习STM32是,那时候知道了J-Link的存在,它出了烧录,也能代码跟踪,单步执行。最后有知道了St-Link的存在,它针对意法半导体的MCU作调试和烧录...[详细]
-
1、实验目的1)使用TIM1触发ADC,ADC采集的数据通过DMA传至内存,然后通过串口打印出采集的数据;2)学会DMA传输数据并将数据进行保存;3)验证ADC的采样率与实际设置的是否相符。2、硬件资源1)指示灯2)ADC3)DMA4)TIM5)杜邦线3、软件设计voidAdc_Configuration(void){DM...[详细]
-
网上所见STM32的SPI例程多数是作为主模式,官方提供的例程中有从模式的例程。但是我参照官方的例程来设置SPI3为从模式,发现MISO管脚都没有数据输出,而主机的时序没有问题。问题是出在管脚的配置上,SPI3默认使用的管脚是:SPI3.NSS==PA15SPI3.SCK==PB3SPI3.MISO==PB4SPI3.MOSI==PB5而PB3、PB4和PA15三个...[详细]
-
1.C语言编程和汇编语言在开发单片机编程各有哪些优缺点?答:汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植。C语言编程是一种结构化的高级语言。其优点是可读性好,移植容易,是普遍使用的一种计算机语言。缺点是占用资源较多,执行效率没有汇编高。对于目前普遍使用的RISC...[详细]
-
根据I2C通信规范(具体可以参考“浅谈I2C总线”),通过普通IO端口模拟可以实现单片机(主设备)与从设备的I2C通信,其中SCL通过IO口延时高低电平变化实现,SDA根据SCL状态变化产生开始信号,结束信号,以及实现发送接收数据等,以下是相关代码/***********************************...[详细]
-
引言
随着嵌入式系统的发展,嵌入式软件设计向软件平台靠近,单片机软件设计不再是单一线程结构方式,而是逐步采用多任务的设计思想。实时内核也称为实时操作系统或RTOS。它使得实时应用程序的设计、扩展和维护变得更容易,不需要大的改动就可以增加新的功能。通过应用程序分割成若干独立的任务,RTOS使得应用程序的设计过程大为简化。使用可剥夺性内核时,所有时间要求苛刻的事件都得到了尽可能快捷、有效的...[详细]
-
大家是否碰到过MCU上电过程中存在电源波动或者电压跌落导致MCU启动异常的问题?本视频将会为大家讲解可能的原因以及解决方法:GD32MCU上下电复位波形如下图所示,上电过程中如果存在吃电的模块,比如wifi模块/4G模块/开启某块电路等,可能存在电源电压跌落的情况,此时若MCU在启动过程中可能会造成MCU加载代码异常,进而导致启动异常。电压跌落到POR和PDR之间会有可能出现启动异常,因...[详细]