- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ARM7 笔记
ARM7 笔记
(1)管脚IO
深入浅出ARM7(周立功)130页
深入浅出ARM7(周立功)157页
PINSEL设置管脚状态
GPIO
快慢速GPIO由SCS控制,置1为快速
慢速GPIO
IODIR (GPIO方向设置 0输入,1输出)
IOPIN (端口数值)
IOSET (端口输出置位,GPIO必须为输出 IODIR=1)
IOCLR (端口输出清零,与IOSET对应)
快速GPIO
FIODIR (GPIO方向设置 0输入,1输出)
FIOPIN (端口数值)
FIOSET (端口输出置位,GPIO必须为输出 FIODIR=1)
FIOCLR (端口输出清零,与FIOSET对应)
FIOMASK (端口开关)
(2)UART
UART 1 初始化
VPBDIV = 0x02; /* PCLK=60MHz CCLK=PCLK/2=30MHz */
PINSEL0 = 0 /* Enable RxD1 and TxD1 */
U1LCR = 0 /* 使能U1DLM.U1DLL除数锁存器访问 */
U1DLL = 0x000000C2; /* 9600 Baud Rate @ 30MHz VPB Clock */
/* 30M / (U1DLL*16)= 9600K */
U1LCR = 0 /* DLAB = 0 禁止访问U1DLM,U1DLL除数锁存器*/
/* 8 bits, no Parity, 1 Stop bit */
U1FDR = 0 /* MUVAL 必须大于1 LPC2100没有 */
写操作
U1THR=dat;
while(!(U1LSR 0x20)); //或者 while(!(U1LSR 0x40));
读操作
while (!(U1LSR 0x01));
dat=U1RBR;
中断操作
void __irq UART1_IRQ(void)
{
if((U1IIR0x0e)==0x04) //判断进入的是否为UART1接收中断
{
while (!(U1LSR 0x01));//等待数据接收完毕
U1THR=U1RBR+1; //将接收到的串口数据+1后再传给串口
while( PE==0 ); //等待数据发送完毕 PE=1忙碌;PE=0;不忙绿
}
else
{;}
VICVectAddr=0x00; //向量地址寄存器,IRQ中断发生时,
//IRQ服务程序跳转到该寄存器读出的值,结束后置零
}
(3)中断
深入浅出ARM7(周立功)85页
深入浅出ARM7(周立功)113页
外部中断设置
EXTINT
7:4 3 2 1 0
- - - - EINT3 EINT2 EINT1 EINT0
EXTWAKE
EXTMODE
EXTPOLAR
void Interrupt_Init(void)
{
PINSEL1 = 0x01; //设定P0.16 外部中断
EXTMODE = 0x01; //电平触发
EXTPOLAR= 0x00; //低电平触发
EXTINT = 0x0F; //清除所有外部中断
}
中断设置
1.快速中断
例如
VICIntSelect = 1 EINT0; //EINT0为EINT0的中断号
VICIntEnable = 1 EINT0;
中断服务
EXTINT = 0x01;
2.向量IRQ
不要将中断编号分配给多于一个使能IRQ
定义中断服务函数必须加入 __irq, 如:void __irq IRQ_Eint0(void)
VICIntSelect = 0 //设置所有中断为IRQ
VICVectCntl0 = 0x20 | 0x0e; //分配外部中断0 EINT0和通道0
VICVectAddr0 = (long)IRQ_Eint0; //设置中断服务地址
VICIntEnable = 1 0x0e; //使能EINT0中断
中断服务
EXTINT = 0x01;
VICVectAddr = 0;
IRQ中断服务函数例子
#include LPC21xx.h
vo
您可能关注的文档
最近下载
- MIL-PRF-13830B中文版.pdf VIP
- CJJT174-2013 城市水域保洁作业及质量标准.docx VIP
- 2025年佛山交通发展总公司校园招聘笔试备考试题及答案解析.docx VIP
- 事故污染控制应急处理预案.pptx VIP
- 全套20490-2023知识产权合规管理体系管理手册及程序文件(1).pdf VIP
- 英语语言学概论(东北大学)中国大学MOOC慕课 客观题答案.pdf VIP
- 医务科【住院病历质控检查评分表】标准规范人民医院及中医医院二甲三甲等级评审用模板.pdf VIP
- 2025年佛山交通发展总公司招聘笔试备考试题及答案解析.docx VIP
- 高中数学人教A版(2019)选择性必修第一册第三章圆锥曲线的方程教学分析和教学建议(课件).pptx
- 2025抖音即时零售营销通案【商家版】.pptx VIP
文档评论(0)