-
数据传送类指令:MOV访问内部数据储存器MOVX访问外部数据储存器MOVC访问ROM储存器XCH整字节交换XCHD半字节交换(低四位)PUSH设置堆栈指针寄存器SP所指向的内容(把字压入堆栈)POP把字弹出堆栈;SWAP高低字节交换指令;数据传送指令不影响标志,只有一有堆栈操作可以直接修改程序状态字PSW,这样可以是某些标志位发生变化;格式:MOV操作数目...[详细]
-
时钟系统就是CPU的脉搏,像人的心跳一样,重要性不言而喻。由于STM32本身十分复杂,外设非常多,但并不是所有的外设都需要系统时钟那么高的频率,比如看门狗以及RTC只需要几十k的时钟即可。并且,同一个电路,时钟越快功耗越快,同时抗电磁干扰能力也就越弱,所以较为复杂的MCU都是采用多时钟源的方法来解决这些问题。STM32F1xx官方资料:《STM32中文参考手册V10》-第六章复位和时钟...[详细]
-
单片机型号:STM32F091RCT6在STM32开发笔记67:在keil中使用ST-Link不能成功下载的解决方法提到解决keil中使用ST-Link不能成功下载的一种方法,经仔细分析其实原因还在于程序上。不能成功下载的程序中,包含如下程序,:CInit::CInit(uint8_tmode){ //底层初始化 HAL_Init(); //GPIO时钟使能...[详细]
-
通用串行总线(USB,universalserialbus)由于具有高传输速率、即插即用和易于扩展等优点而被广泛应用于计算机外设、数字设备和仪器仪表等领域。ARM嵌入式处理器因其低廉的成本和较好的性能被广泛地应用于企业应用、汽车系统、家庭网络和无线技术等市场领域。将USB与ARM相结合是进行数据采集、处理与传输的理想解决方案。1、USB数据采集系统概述USB数据采集系统由主机和USB设备...[详细]
-
//粗延时函数,微秒voiddelay_nus(u16time){u16i=0;while(time--){i=10;//自己定义while(i--);}}//毫秒级的延时voiddelay_nms(u16time){u16i=0;while(time--...[详细]
-
今天笔者把自己当年学习51单片机有关晶振的问题一并总结出来,希望对初学51的童鞋来说能有帮助。 一、为什么51单片机爱用11.0592MHZ晶振? 其一:因为它能够准确地划分成时钟频率,与UART(通用异步接收器/发送器)量常见的波特率相关。特别是较高的波特率(19600,19200),不管多么古怪的值,这些晶振都是准确,常被使用的。 其二:用11.0592晶振的原因是51单片...[详细]
-
ARM11主频为533MHz,最高可达667MHz,较ARM7主频提高了10倍,且拥有更丰富的片上资源,处理速度更快,功能更强。基于上述特点,ARM11可完全适应实时性较强的网络终端的设计。在以ARM11为核心的网络终端设计中,需要LCD在终端实时显示网络通信的各项参数和设备工作状态,LCD的显示内容依靠网络传输数据中的指令来控制,而网络终端的操作数据也要通过网络传输到计算机,因此网络...[详细]
-
1引言 高压大容量电动机是各发电厂及工矿企业的重要动力设备,由于电动机本身质量问题以及启动频繁、工作条件恶劣等各种原因,其故障率相当高。原电力部“发电厂国产高压电动机质量调查报告”表明:在所调查的34个电厂中,高压电动机总共681台,损坏103台,占15.1%;带缺陷运行183台,占36.9%;由于设备质量问题引起的占78.03%。在损坏的103台...[详细]
-
前言 由于计算机网络技术发展与更新比PBX快,设备价格降幅大,建立一个以Internet(或Intranet)为基础的IP电话网络,以替代传统电话设备系统成为企业的目标。 局域网IP电话 局域网IP电话使用统一的网络通信设备和布线来传输话音和数据。在传统的PBX(专用小交换机)系统中,话音呼叫通过与办公PBX连接的一系列标准话音线路进入办公室,即通过一种专用设备在标准的电话配线...[详细]
-
由于工作需要,复用了PA15的时候,程序禁用swd-jtag功能,网上多方查找解决方法。在重新上电的时候,保证BOOT0为高电平,BOOT1为低电平,即可禁止程序从烧写过的代码启动,这时,重新烧写程序即可。STM32三种启动模式对应的存储介质均是芯片内置的,它们是:1)用户闪存=芯片内置的Flash。2)SRAM=芯片内置的RAM区,就是内存啦。3)系统存储器=芯片内部一块特定的区...[详细]
-
AVR单片机通讯用发送标识UDRE和TXC的区别:AVR的说明书上说:“TXC标志位可以用来检验一个数据帧的发送是否已经完成,RXC标志位可以用来检验接收缓冲器中是否还有数据未读出。在每次发送数据之前(在写发送数据寄存器UDR前)TXC标志位必须清零。”“数据寄存器空UDRE标志位表示发送缓冲器是否可以接受一个新的数据。该位在发送缓冲器空时被置"1”;当发送缓冲器包含需要发送的数据时...[详细]
-
用法1:在一个函数体内使用static定义一个变量,保证该变量只进行一次初始化例:#includestdio.hinttest(void){staticinti=0;//对应inti=0结果为i=1i=1i=1i=1i=1i++;returni;}intmain(){for(intj=0;j5;j++)printf...[详细]
-
main.c#includestm32f4xx.h#include./led/bsp_led.h/*相关宏定义,使用存储器到存储器模式必须使用DMA2*/#defineDMA_STREAMDMA2_Stream0#defineDMA_CHANNELDMA_Channel_0#defineDMA_STREAM_CLOCKR...[详细]
-
/*==============================================================at12c2052所带的PWM功能演示,内部公用了一个定时器,当启动PWM时PCA定时器只工作在8位模式,匹配比较器也是按8位的。本程序演示了PWM启动的设置和调节。改用在taskingc51下面编译,并尝试了tasking方便的在线汇编方式-...[详细]
-
交叉编译工具链的命名规则为:archarch-体系架构,如ARM,MIPSverdor-工具链提供商os-目标操作系统eabi-嵌入式应用二进制接口根据对操作系统的支持与否,ARMGCC可分为支持和不支持操作系统,如arm-none-eabi:这个是没有操作系统的,自然不可能支持那些跟操作系统关系密切的函数,比如fork(2)。他使用的是newli...[详细]