-
在Keil中编译工程成功后,在下面的BulidOuput窗口中会输出下面这样一段信息:ProgramSize:Code=6320RO-data=4864RW-data=44ZI-data=1636代表的意思:Code:是程序中代码所占字节大小RO-data:程序中所定义的指令和常量大小(个人理解:ReadOnly)RW-data:程序中已初...[详细]
-
#includestdio.hunsignedintUART0_ADDR=0x20080000;unsignedintretu=0;inti=0;voiddelay_x(unsignedshortcycles){unsignedshortt;t=cycles;while(--t!=0);}intmain(){///...[详细]
-
主机环境:Windows7SP1开发环境:MDK5.14目标板:STM32F103C8T6开发库:STM32F1Cube库和STM32_USB_Device_Library现在开始分析VCP示例代码,从最简单的usbd_desc开始。USB设备使用描述符来报告其功能特性,描述符是一个已知格式的数据结构,USB规范中定义了以下几种描述符:Device(设备)、Devic...[详细]
-
1.选项字节的概念(参考stm8s中文数据手册):选项字节包括芯片硬件特性的配置和存储器的保护信息,这些字节保存在存储器中一个专用的块内。除了ROP(读出保护)字节,每个选项字节必须被保存两次,一个是通常的格式(OPTx)和一个用来备份的互补格式(NOPTx)。可以在ICP模式(通过SWIM)下访问下表中EEPROM的地址来修改选项字节。选项字节也可以通过应用程序在IAP模式下修改,但是...[详细]
-
1、ADC采样如果采用DMA,最多只能设置16个通道,多于16个通道时,用中断,在中断中切换通道2、I2C采用软件模拟I2C时,IIC总线有个特点就是开漏输出,这是总线竞争的需要,如果要做到开漏输出,有些IO口本来有这样的功能,如果用这样的IO口去仿真就比较方便。但如果IO口没有开漏输出功能,那就只能在输入和输出之间切换。所以还是比较烦的。当在需要输出低电平的时候将IO口设置成输出并输...[详细]
-
BootLoader通常称为“系统的引导加载程序”,是系统加电或复位后执行的第一段程序代码。这段程序的主要任务是,实现硬件设备初始化并建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核或用户应用程序准备好正确的环境。通常,BootLoader包含两种不同的加载和启动引导方式,即启动加载方式和下载方式。①启动加载(bootloading...[详细]
-
优先级的问题可以分为以下情况:抢占优先级和响应优先级(1)抢占优先级高的可以打断抢占优先级低的,形成嵌套.(2)抢占优先级相同时,看响应优先级.如果两个中断前后发生的话,后来的中断不能打断前一个中断只能等,如果两个中断同时发生的话,则响应优先级高的先响应.(3)抢占级别和响应级别都一样时,按照中断的地址来响应,地址低的先响应这样就解决了优先级的问题.哪个...[详细]
-
TMS320F2812是德州仪器(TI)公司专门为工业应用而设计的新一代DSP处理器,它的性能大大优于当前广泛使用的TMS320LF240x系列。该芯片为32位定点DSP,最高主频150MHz,最小指令周期6.67ns,外部采用低频时钟,通过片内锁相环倍频;相对于TMS320LF2407只能寻址192KB地址空间,该芯片的外部接口最多可寻址4MB的空间;有3个独立的片选信号,并且读/写...[详细]
-
Ⅰ、写在前面最近有很多朋友问:1.我的USART串口打印出来的数据是乱码?2.我的TIM定时器延时或定时不准确?常见可能原因:1.晶振问题:外部晶振不起振、或频率与配置不匹配。2.软件问题:分频、倍频、时钟源选择等。总结来说,主要还在于软件的问题。因为即使没有外部晶振,也可以使用内部晶振。其实,软件的问题是容易得到解决的,只要你了解了STM32时钟配置里面具体内容就知道了。关于...[详细]
-
现在有STM32用户使用STM32G474R芯片开发产品,其中用到TIM1做电源驱动,TIM1工作在中心对齐计数模式。现在有个应用需求,就是希望在TIM1每个周期的下图箭头所指时刻触发外部ADC器件的采样,等ADC完成转换后并通过SPI接口将结果取回来。但有个要求,从触发时刻【下图中的A点】开始到把ADC结果取回来这个过程不能有CPU的参与。该用户觉得原理上可行,但经一番折腾感觉相应硬件时...[详细]
-
引言在控制终端系统设计中,当系统要求整体功耗偏低时,C8051F系列单片机是一个最佳的选择。它们拥有灵活的时钟硬件,使系统能够方便地在高效运作模式与低功耗模式问进行转换,智能的电源管理模式能够在正常工作及待机状态自由切换,从而降低整个系统的能量损耗;当工作频率低于10kHz时,时钟丢失检测器(MCD)能够引发系统产生复位,确保系统工作的安全可靠。1C8051F各部分组件的功耗...[详细]
-
最近在用MCP3421,需要用到IIC接口。MCU用的是STM8S105K6T6。使用MCU内部的IIC外设,这个接口配置折腾一下午,遇到了很坑爹的事情。我使用的是寄存器开发的,该设置了感觉都设置好了,就是不能工作。后来以为没配置好,又用库函数来开发,妈的,还是不能工作。后来在群里的一位大神的指导下成功的调通了IIC。闲话有点多,毕竟是我第一次开通博客来写博客的,心情不免有些激动。现在把...[详细]
-
这里简单说明一下一键下载电路的原理,我们知道,STM32串口下载的标准方法是2个步骤:1,把B0接V3.3(保持B1接GND)。2,按一下复位按键。通过这两个步骤,我们就可以通过串口下载代码了,下载完成之后,如果没有设置从0X08000000开始运行,则代码不会立即运行,此时,你还需要把B0接回GND,然后再按一次复位,才会开始运行你刚刚下载的代码。所...[详细]
-
一、RTCRTC(Real-TimeClock)实时时钟。RTC是集成电路,通常称为时钟芯片。在一个嵌入式系统中,通常采用RTC来提供可靠的系统时间,包括时分秒和年月日等,而且要求在系统处于关机状态下它也能正常工作(通常采用后备电池供电)。它的外围也不需要太多的辅助电路,典型的就是只需要一个高精度的32.768kHz晶体和电阻电容等,并且具有闹钟的功能。。二、Exynos4412...[详细]
-
日前,德州仪器(TI)宣布推出一款模拟输入音频子系统,该系统在小型封装中集成了TI业经验证的立体声D类功率放大器与立体声DirectPathTM耳机放大器。该音频子系统具有高灵活性,使客户能够选择不同的输入至输出配置,并对设计参数进行编程,从而优化音频性能。将所有放大器通道集成到统一的集成电路上,可减少材料清单并降低成本,同时使无线手持终端、便携式DVD播放器、便携式游戏机...[详细]