第一范文网 - 专业文章范例文档资料分享平台

嵌入式应用实例 - 图文

来源:用户分享 时间:2025/5/29 11:24:30 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

temp = SCIReN(1,1,SerialBuff); if(temp==0)SCISendN(1,1,SerialBuff); EnableInterrupt(); } */

//未定义的中断处理函数,本函数不能删除 interrupt void isrDummy(void) { }

//中断处理子程序类型定义 typedef void( *ISR_func_t)(void);

//中断矢量表,如果需要定义其它中断函数,请修改下表中的相应项目 const ISR_func_t ISR_vectors[] @0xFFCC = {

isrDummy, // 0xFFCC //时基中断 isrDummy, // 0xFFCE //IIC中断 isrDummy, // 0xFFD0 //ADC转换中断 isrDummy, // 0xFFD2 //键盘中断 isrDummy, // 0xFFD4 //SCI2发送中断 isrDummy, // 0xFFD6 //SCI2接收中断 isrDummy, // 0xFFD8 //SCI2错误中断 isrDummy, // 0xFFDA //SCI1发送中断 // isrSCIre, // 0xFFDC //SCI1接收中断 isrDummy, // 0xFFDC //SCI1接收中断 isrDummy, // 0xFFDE //SCI1错误中断 isrDummy, // 0xFFE0 //SPI中断 isrDummy, // 0xFFE2 //TPM2溢出中断

isrDummy, // 0xFFE4 //TPM2通道1输入捕捉/输出比较中断 isrDummy, // 0xFFE6 //TPM2通道0输入捕捉/输出比较中断 isrT1Out, // 0xFFE8 //TPM1溢出中断

11

// isrDummy, // 0xFFE8 //TPM1溢出中断

isrDummy, // 0xFFEA //TPM1通道5输入捕捉/输出比较中断 isrDummy, // 0xFFEC //TPM1通道4输入捕捉/输出比较中断 isrDummy, // 0xFFEE //TPM1通道3输入捕捉/输出比较中断 isrDummy, // 0xFFF0 //TPM1通道2输入捕捉/输出比较中断 isrDummy, // 0xFFF2 //TPM1通道1输入捕捉/输出比较中断 isrDummy, // 0xFFF4 //TPM1通道0输入捕捉/输出比较中断 isrDummy, // 0xFFF6 //ICG的PLL锁相状态变化中断 isrDummy, // 0xFFF8 //低电压检测中断 isrDummy, // 0xFFFA //IRQ引脚中断 isrDummy // 0xFFFC //SWI指令中断

//RESET是特殊中断,其向量由开发环境直接设置(在本软件系统的Start08.o文件中) };

Timer.h:

#ifndef timeR_H #define timeR_H

#include \#include \

#define TPM_CSTR(x)(*(vuint8 *)(0x00000020+(x-1)*64)) #define TPM_CNTH(x)(*(vuint8 *)(0x00000021+(x-1)*64)) #define TPM_CNTL(x)(*(vuint8 *)(0x00000022+(x-1)*64)) #define TPM_MODH(x)(*(vuint8 *)(0x00000023+(x-1)*64)) #define TPM_MODL(x)(*(vuint8 *)(0x00000024+(x-1)*64)) #define EnabletimerInt(x) TPM_CSTR(x) |= TPM1SC_TOIE_MASK #define DisabletimerInt(x) TPM_CSTR(x) &=~TPM1SC_TOIE_MASK #define TPM_NUM_1 1 #define TPM_NUM_2 2 #define TPM1_CH_0 0

12

#define TPM1_CH_1 1 #define TPM1_CH_2 2 #define TPM1_CH_3 3 #define TPM1_CH_4 4 #define TPM1_CH_5 5 #define TPM2_CH_0 0 #define TPM2_CH_1 1 void TPMinit(uint8 TPMNo); void SecAdd1(uint8 *p); #endif

Timer.c:

#include \

void TPMinit(uint8 TPMNo){ if(TPMNo > 2) TPMNo = 2; else if(TPMNo < 1) TPMNo=1;

TPM_CSTR(TPMNo)=0b00010110; TPM_CNTH(TPMNo) = 0x00; TPM_CNTL(TPMNo) = 0x00; TPM_MODH(TPMNo) = 0x7A; TPM_MODL(TPMNo) = 0x12; }

void SecAdd1(uint8 *p){ *(p+7)+=1; if(*(p+7)>9){ *(p+7) = 0; *(p+6)+=1; if(*(p+6)>5){

13

*(p+6)=0; *(p+4) += 1; // if(*p>=24) // *p = 0; if(*(p+4)>9){ *(p+4)=0; *(p+3)+=1; if(*(p+3)>5){ *(p+3)=0; *(p+1)+=1; if(*(p+1)>9){ *(p+1)=0; *p+=1;

if(*(p+1)==4&&*p==2){ *(p+1)=0; *p=0; } } } } } } }

3.1.1串行通信子程序

SCI.h:

#ifndef SCI_H #define SCI_H

#include \

14

搜索更多关于: 嵌入式应用实例 - 图文 的文档
嵌入式应用实例 - 图文.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c474ur95ne286wqu5qtze_4.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top