leds.bin:crt0.Sleds.carm-linux-gcc -g -c -o crt0.o crt0.Sarm-linux-gcc -g -c -o leds.o leds.carm-linux-ld -Ttext 0x00000000 -g crt0.o leds.o -o leds_elfarm-linux-objcopy -O binary -S leds_elf leds.bin
从PWM输出实验的工程开始,加入其他各种功能。LCD屏幕显示:一、hardware其中timer是产生脉冲的。二、hallibFMC是一个接口,控制SDRAM和LCD三、#include#include"lcd.h"#include"sdram.h"12四、init()SDRAM_Init();
单片机的芯片内集成了计算机的基本功能部件,已具备了很强的功能,当片内ROM,RAM的容量,并行I/O端口,定时器及中断源等资源都还可以很方便地进行功能扩展.特别是用的较多的廉价的EPROM.片内RAM中具有1
// 串行数码管显示 tlc549 AD转换值// 芯片 ATMEGA16L // 时钟 4MHz 内部 // 采用系统自带延时程序#include #include#define hc164_data PORTD.0 // 164数据线 #define hc164_clk PORTD.1 // 164时钟线 #defi
1.1 启动代码内容1) 硬件初始化:最起码的是要初始化堆栈指针。2) C语言环境 :在main函数调用之前要完成对一些变量的初始化。3) 应用初始化: 这主要取决于你的应用。比如设置系统的晶振、时钟。1.2 图解M3启动过程1)
关于spi协议见:http://hi.baidu.com/gilbertjuly/blog/item/0be222eeac9abae5cf1b3e38.html ISD4002芯片资料参考:http://download.csdn.net/source/1208805 以下是单片机spi通信的通用程序,在不同晶振情况下
因为没有中断的清除标志位,这一点与其它单片机是不同的。EXTI_CR1 触发边沿的设置要在总中断没开时才能写入!PD7 是 不可屏蔽的最高优先级的硬件中断(TLI)设置顺序:最好先关中断 设置边沿 开启引脚 最后开总中断Di
存储控制器S3C2440A是32位处理器,理论上拥有32根地址线,寻址空间0x00000000~0xFFFFFFFF,即4G而实际上,S3C2440A只拥有27根地址线,实际物理寻址空间为0x00000000~0x07FFFFFF,即128MB除了这27根地址线,S3C2440A还
LPC2478的IIC使用LPC2478带有三个IIC接口,每个IIC都可以工作在主机或者从机模式下,LPC的IIC的架构是一种状态机的形式,在不同的的时间做不同的工作之后有不同的状态来表示,简单来说,就是发送起始字节之后会有一个状态
首先在网上看到大部分移植FreeRTOS 都是选择修改他的启动文件,我个人感觉这样不是很好,毕竟是汇编,当你采用不同的芯片型号时,又要修改不同的xx.S文件,所以我选择修改FreeRTOSconfig.h文件。1. 下载STM32官方源码
利用STM32跑UCOS 写了个很简单的程序,编译如下Program Size: Code=24562 RO-data=746 RW-data=88 ZI-data=7456以此推算,小于FLASH小于24K RAM小于8K 根本不能考虑STM32的UCOS,只能祼奔,STM32的FLASH到还好满足些
1. LAB100.C(12): error C216: subscript on non-array or too many dimensions 原程序如下:#include#includevoiddelay(int);unsignedcharcodedis_code[8]={0x28,0x7e,0xa2,0x62,0x74,0x61,0x21,0x7a};main(){inti,
1 /*电压表 精确到小数点后面三位*/2 /*连线:电位器接IN0,AD_CS接CS0,CS1接KEY/LED_CS*/3 #include4 typedef unsigned char uchar;5 xdata uchar LED_CS _at_ 0x9000;6 xdata uchar LED_OUTSEG _at_ 0x9004;7 xdat
现在主要讲解一下在GCC移植UCGUI,Makefile工程如何加入目录,加入源码,c标准库,编译选项的设置。笔者的Makefile模板提取自uboot,工程中加入目录,加入源码都是很简单的,详细的介绍请参考前面章节” GCC启动代码
在STM32单片机的编程当中,中断函数的名称都是xxx_IRQHandler格式的。那当编译程序的时候是怎么知道这是一个中断函数的呢?每个中断都是有入口地址的。程序在执行过程中遇到中断的时候,会先判断这个中断的类型,根据