推荐阅读最新更新时间:2024-11-02 16:36
基于IAR编译器DS80C400的开发
DS80C400微控制器ROM的功能可由8051汇编语言、C或Java?编写的程序访问。通过使用ROM功能和由Maxim开发的软件库能够构建多种应用程序。本应用笔记阐述了如何使用8051 IAR Embedded Workbench?来建立DS80C400的C语言应用程序。通过一个简单的HTTP服务器示例来演示DS80C400的ROM功能。 DS80C400微控制器的ROM包含多种功能,可通过由8051汇编语言、C或Java编写的程序访问。DS80C400的ROM功能提供成熟的MxTNI?网栈、进程调度和 存储器 管理,是开始构建C和汇编程序的最佳选择。对于简单程序,可以用汇编语言轻松实现。对于更复杂的程序,C语言可以充分
[单片机]
STM32中断向量嵌套NVIC理解
一,中断优先级: 具有高抢占式优先级的中断可以在具有低抢占式优先级的中断处理过程中被响应,即中断嵌套,或者说高抢占式优先级的中断可以嵌套低抢占式优先级的中断。 当两个中断源的抢占式优先级相同时,这两个中断将没有嵌套关系,当一个中断到来后,如果正在处理另一个中断,这个后到来的中断就要等到前一个中断处理完之后才能被处理。如果这两个中断同时到达,则中断控制器根据他们的响应优先级高低来决定先处理哪一个;如果他们的抢占式优先级和响应优先级都相等,则根据他们在中断表中的排位顺序决定先处理哪一个。 既然每个中断源都需要被指定这两种优先级,就需要有相应的寄存器位记录每个中断的优先级;在Cortex-M3中定义了8个比特位用于设置中断源
[单片机]
IAR Systems支持Atmel|Smart MCU和MPU
借助 1,400多个支持Atmel广泛的 MCU和MPU组合的示例项目,IAR Embedded Workbench可帮助开发人员将他们的Atmel设计更快地推向市场 全球微控制器(MCU)及触控技术解决方案领域的领导者Atmel®公司 (NASDAQ:ATML)以及全球领先的嵌入式系统开发工具提供商IAR Systems®今日宣布,两家公司将拓展双方的合作伙伴关系,在IAR Systems 的开发工具中添加1,400多个示例项目,用以支持Atmel完整的、世界一流的MCU和MPU(微处理器)组合。 使用Atmel AVR和Atmel | SMART MCU/MPU的设计人员现在可以借助领先的C/C++编译器和调试
[单片机]
IAR for AVR 学习笔记(5)--SRAM操作
SARM数据类型的具体操作方法 SARM空间是AVR单片机最重要的部分,所有的操作必须依赖该部分来完成。变量在SARM空间的存储模式有tiny ,small large 三种,也就是对应于__tiny, __near __far三中存储属性。一旦选择为哪种存储模式,对应的数据默认属性也就确定了,但可以采用__tiny, __near __far关键字来更改。 对于程序中的局部变量,编译器会自动处理的,我们也不可能加什么储存属性,但IAR提供了强大的外部变量定义。 5.1.定义变量在工作寄存器 IAR编译器内部使用了部分工作寄存器,留给用户的只有R4-R15供12个寄存器供用户使用,要使用工作寄存器必须在工程选项里打开锁定选项。
[单片机]
浅析STM32F0系列中断向量映射问题如何解决
最近用Cortex-M0内核的STM32F030K6T6做个东西,需要做IAP升级,发现它的中断向量与M3、M4等内核的单片机不太一样,这里分享给大家。 IAP升级需要一个BootLoader程序,一个应用程序。BootLoader程序直接烧写到flash起始地址就行,中断向量也不用改。但是应用程序需要烧写到BootLoader程序后面,且中断向量必须重新映射。 M3、M4等内核的单片机,直接修改中断向量的偏移地址(VECT_TAB_OFFSET)就行。但在M0内核的库中,根本就没有这个定义。查阅相关资料发现,M0内核的中断向量需要用户自己从Flash映射到RAM中,即0x20000000地址。 实际操作也很简单,在程序开始加上这
[单片机]
stm8s003f3使用杂记
开发环境是IAR 1:程序下载不进去考虑的方面: 1)确认实际电路连接正确。 2)stlink的下载线不好使,或者接触不良(我的就是) 3)手工焊的话,贴片的芯片可能会焊坏(我遇到过焊坏的问题,Vcap脚电压有过3~4v的时候,或者干脆没电压) 2:端口的八个GPIO共用一个中断向量. 想要在A1,A2口上实现两个必须上升沿触发中断的按钮或者外设,需要共用EXT_A的中断向量. 1)进中断以后查询一下 2)虽然是边沿触发,但是信号在跳变到某个电平后也会维持一段时间吧,这样就可以用读IO口来查询;如果实在是触发信号很短,那你就用不同的端口上的引脚呗。 无论如何,在有限的外部中断下,相比一个外部中断对应一个引脚,每个引脚都能触
[单片机]
IAR 430 头文件中#define定义的部分解释
今天在阅读RF_Example_Code_v1.0中头文件cc430x613x.h时发现了几部分的疑问。 首先来看一下cc430x613x.h 中的3个#define的例子: #define DEFC(name, address) __no_init volatile unsigned char name @ address; #define DEFW(name, address) __no_init volatile unsigned short name @ address; #define DEFCW(name, address) __no_init union { struct { volatile unsig
[单片机]
51单片机启动过程
STC8G2K64S4-48PIN 系列、STC8G2K64S2-48PIN 系列单片内部集成了 64K 字节【0000H-FFFFH】的 Flash 程序存储器(ROM)。 1:单片机复位后,程序计数器(PC)的内容为 0000H,从 flash的0000H 单元开始执行程序。【PC是一个16位的计数器。用于存放和指示下一条要执行的指令的地址。寻址范围达64KB。PC有自动加1功能,以实现程序的顺序执行。PC没有地址,是不可寻址的,无法用指令对它进行读写。但在执行转移、调用、返回等指令时能自动改变其内容,以改变程序的执行顺序。】 2:另外中断服务程序的入口地址(又称中断向量)也位于程序存储器单元。在程序存储器中,每个中断
[单片机]