ARM中断实现串口通信
更新时间:2023-09-24 12:03:01 阅读量: IT计算机 文档下载
- arm中断是怎么实现的推荐度:
- 相关推荐
#include
#define _ISR_STARTADDRESS 0x33ffff00
#define pISR_EINT0 (*(unsigned *)(_ISR_STARTADDRESS+0x20))//存放ISR函数的入口地址
#define pISR_EINT2 (*(unsigned *)(_ISR_STARTADDRESS+0x28)) #define pISR_EINT8_23 (*(unsigned *)(_ISR_STARTADDRESS+0x34))
// _PND register must be clr by write 1
#define Clear1Pending(bit) {SRCPND = bit; INTPND = INTPND;} // precent write wrong data
#define FCLK 202800000 #define HCLK (202800000/2) #define PCLK (202800000/4) #define UART0 0x0 #define UART1 0x1 #define UART2 0xBB
///////////////////////////////////////////////////////////////////////////////////////////// void uart_init(int nMainClk, int nBaud, int nChannel) {
if(nMainClk == 0) nMainClk = PCLK;
switch (nChannel) {
case UART0:
UBRDIV0=( (int)(nMainClk/16./nBaud+0.5) -1 );// Baud rate divisior register 0
UCON0 = 0x245;
// Control register
UFCON0 = 0x0; //UART channel 0 FIFO control register, FIFO disable UMCON0 = 0x0; //UART chaneel 0 MODEM control register, AFC disable ULCON0 = 0x3; //Line control register : Normal,No parity,1 stop,8 bits
// UART symbol
}
}
break;
UFCON1 = 0x0; //UART channel 1 FIFO control register, FIFO disable UMCON1 = 0x0; //UART chaneel 1 MODEM control register, AFC disable ULCON1 = 0x3; UCON1 = 0x245;
UBRDIV1=( (int)(nMainClk/16./nBaud) -1 ); break; break;
case UART1:
default:
void uart_sendbyte(int nData) { }
void uart_sendstring(char *pString) {
while(*pString != '\\0')
uart_sendbyte(*pString++); }
void uart_printf(char *fmt) {
uart_sendstring(fmt); }
//////////////////////////////////////////////////////////////////////////////////////
/*进入中断处理函数,中断模式的寄存器先进入输入模式,所有列线输出置为1;
UTXH0 = nData;
while(!(UTRSTAT0 & 0x2));
依次把列线拉低,检测输入端口,EINT的值,如果为低点平,说明该列被拉低; 这样行列坐标就确定了。
处理完成,返回中断模式,IO口重新设定为输出低电平,使能下降沿触发中断;*/
void __irq int0_int(void) {
// clr _pend bit is essential after E_int }
Clear1Pending(0x1);
GPEDAT |= (1<<13); //set pre_bit GPGDAT &= ~(1<<2);
//clr exam_bit
if(((GPFDAT>>0)&1)==0) uart_printf(\//enter eint_mod , ouput_mod 0 GPFCON |= (0x2<<0); //EINT0 mod GPEDAT &= ~((1<<11)|(1<<13));//output 0 GPGDAT &= ~((1<<2)|(1<<6));
//output 0
GPGDAT |= (1<<6); GPEDAT &= ~(1<<13);
//set
pre_bit //clr
exam_bit
GPEDAT |= (1<<11);//set pre_bit GPGDAT &= ~(1<<6);
// clr exam_bit
if(((GPFDAT>>0)&1)==0) uart_printf(\GPGDAT |= ((1<<2)|(1<<6));//output 1
GPFCON &= ~(0x3<<0);//EINT_mod to input_mod
if(((GPFDAT>>0)&1)==0) uart_printf(\// 10 11 12 16
// enter input_mod ,kscan0-kscan3 output 1 GPGDAT &= ~(1<<11);// 0 GPEDAT |= (1<<13); // 1
if(((GPFDAT>>0)&1)==0) uart_printf(\
void __irq int2_int(void) {
GPEDAT |= (1<<13); GPGDAT &= ~(1<<2);
if(((GPFDAT>>2)&1)==0) uart_printf(\
GPFCON |= (0x2<<4); // EINT2 mod GPEDAT &= ~((1<<11)|(1<<13)); GPGDAT &= ~((1<<2)|(1<<6)); GPGDAT |= (1<<6); GPEDAT &= ~(1<<13);
if(((GPFDAT>>2)&1)==0) uart_printf(\GPEDAT |= (1<<11); GPGDAT &= ~(1<<6);
if(((GPFDAT>>2)&1)==0) uart_printf(\ // 7 8 9 15
GPGDAT &= ~(1<<11);// 0 GPEDAT |= (1<<13); // 1
GPGDAT |= ((1<<2)|(1<<6));//output 1 GPFCON &= ~(0x3<<4);// input_mod if(((GPFDAT>>2)&1)==0) uart_printf(\
// uart_printf(\ Clear1Pending(0x1<<2); }
void __irq int11_int(void) {
if(((EINTPEND>>11)&1)==1) {
//4 5 6 14
GPGDAT &= ~(1<<11);// 0 GPEDAT |= (1<<13); // 1
GPGDAT |= ((1<<2)|(1<<6));//output 1 GPGCON &= ~(0x3<<6);// input mod
if(((GPGDAT>>3)&1)==0) uart_printf(\GPEDAT |= (1<<11); GPGDAT &= ~(1<<6);
if(((GPGDAT>>3)&1)==0) uart_printf(\GPGDAT |= (1<<6); GPEDAT &= ~(1<<13);
if(((GPGDAT>>3)&1)==0) uart_printf(\GPEDAT |= (1<<13); GPGDAT &= ~(1<<2);
if(((GPGDAT>>3)&1)==0) uart_printf(\
GPGCON |= (0x2<<6);//EINT 11 mod GPEDAT &= ~((1<<11)|(1<<13)); GPGDAT &= ~((1<<2)|(1<<6));
EINTPEND=(1<<11); } else {
// 1 2 3 13
GPGDAT &= ~(1<<11);// 0
// uart_printf(\
GPEDAT |= (1<<13); // 1
GPGDAT |= ((1<<2)|(1<<6));//output 1 GPGCON &= ~(0x3<<22);// input mod
正在阅读:
ARM中断实现串口通信09-24
2018年高考历史一轮复习考点强化练第43练布雷顿森林体系02-29
常见的、准确率比较高的K线组合10-20
C语言程序设计实验报告10-25
丙烯酸及酯GC参考分析条件 - 图文03-14
证券投资学期末考试复习题10-08
中国现当代作家作品专题研究及答案04-11
文化娱乐行业研究报告06-11
材料力学实验思考题01-07
- 供应商绩效评价考核程序
- 美国加州水资源开发管理历史与现状的启示
- 供应商主数据最终用户培训教材
- 交通安全科普体验教室施工方案
- 井架安装顺序
- 会员积分制度
- 互联网对美容连锁企业的推动作用
- 互联网发展先驱聚首香港
- 公司文档管理规则
- 机电一体化系统设计基础作业、、、参考答案
- 如何选择BI可视化工具
- 互联网产品经理必备文档技巧
- 居家装修风水的布置_家庭风水布局详解
- 全省基础教育信息化应用与发展情况调查问卷
- 中国石油--计算机网络应用基础第三阶段在线作业
- 【知识管理专题系列之五十八】知识管理中如何实现“场景化协同”
- 网络推广方案
- 中国石油--计算机网络应用基础第二阶段在线作业
- 汽车检测与维修技术专业人才培养方案
- 详解胎儿颈透明层
- 串口
- 中断
- 实现
- 通信
- ARM
- 工业电视监控系统知识测试题
- 大气压强说课稿
- 四年级上册数学教案快捷的物流运输相遇问题青岛版
- 国务院办公厅关于印发201459 - 图文
- 农村留守中学生心理健康调研报告
- xx公司安全例行工作标准
- 高考专题复习之变换句式岐山高级中学魏玲侠2
- 2018-2019年小学语文苏教版四年级下册《池上》一等奖教案1
- 商法学模拟试卷
- 红莲小学一下数学解决问题练习
- 仓央嘉措足迹行修之旅 - 图文
- 渡槽施工组织方案
- 《培养孩子良好饮食习惯的研究》(结题报告)马宇
- 脚手架施工方案(1)
- 2013年高三期末考试化学反应原理汇编 - 图文
- 2019年人教部编版三年级语文上册第五单元 主题训练卷及答案
- 兰州大学第十一届教职工运动会 - 图文
- 说明书-正文 - 图文
- 九年级历史上册 第17课 电气时代的来临导学案 北师大版1 - 图文
- 计算机图形学实验与课程设计