共2条
1/1 1 跳转至页
问
自己编写了一个定时器捕获的程序,在自制的ARM板上没有调试成功,修改了一下程序(使用定时器1,P0.10,捕获1.0,下降沿捕获,产生中断),在ZLG-EasyARM2200板上调试,程序运行时,短接P0.10和地,也没有出现预期的蜂鸣器响,请周工帮忙看看是不是程序问题,谢谢!
c程序如下:
#include "config.h"
#define BEEPCON 0x00000080 /* P0.7引脚控制B1,低电平蜂鸣 */
void Time1Init(void)
{
T1PR = 0;
T1TC=0;
T1CCR=0x06; //CAP1.0下降沿捕获,产生中断
T1TCR = 0x01; // 启动T1TC
}
uint32 i;
void __irq IRQ_Time1(void)
{
i=T1CR2;
IO0CLR=0x00000080;
T1IR = 0x10; // 清除中断标志
VICVectAddr = 0x00; // 通知VIC中断处理结束
}
int main(void)
{
PINSEL0 = 0x00200000; // 捕获
IO0DIR=0x00000080;
IO0SET=0x00000080;
Time1Init();
VICIntSelect = 0x00; // 所有中断通道设置为IRQ中断
VICVectCntl0 = 0x25; // 定时器1中断通道分配最高优先级
VICVectAddr0 = (uint32)IRQ_Time1; // 设置中断服务程序地址向量
VICIntEnable = 0x00000020; // 使能定时器1中断
while(1)
{
}
} 答 1: 谢绝板儿砖有没有开中断?我的意思是清零I位 答 2: 有啊清过了,
;设置系统模式堆栈
MSR CPSR_c, #0x5f
LDR SP, =StackUsr
MOV PC, R0 答 3: 怎么没有人指点一下呢?怎么没有人指点一下呢?
c程序如下:
#include "config.h"
#define BEEPCON 0x00000080 /* P0.7引脚控制B1,低电平蜂鸣 */
void Time1Init(void)
{
T1PR = 0;
T1TC=0;
T1CCR=0x06; //CAP1.0下降沿捕获,产生中断
T1TCR = 0x01; // 启动T1TC
}
uint32 i;
void __irq IRQ_Time1(void)
{
i=T1CR2;
IO0CLR=0x00000080;
T1IR = 0x10; // 清除中断标志
VICVectAddr = 0x00; // 通知VIC中断处理结束
}
int main(void)
{
PINSEL0 = 0x00200000; // 捕获
IO0DIR=0x00000080;
IO0SET=0x00000080;
Time1Init();
VICIntSelect = 0x00; // 所有中断通道设置为IRQ中断
VICVectCntl0 = 0x25; // 定时器1中断通道分配最高优先级
VICVectAddr0 = (uint32)IRQ_Time1; // 设置中断服务程序地址向量
VICIntEnable = 0x00000020; // 使能定时器1中断
while(1)
{
}
} 答 1: 谢绝板儿砖有没有开中断?我的意思是清零I位 答 2: 有啊清过了,
;设置系统模式堆栈
MSR CPSR_c, #0x5f
LDR SP, =StackUsr
MOV PC, R0 答 3: 怎么没有人指点一下呢?怎么没有人指点一下呢?
共2条
1/1 1 跳转至页
回复
我要赚赏金打赏帖 |
|
|---|---|
| 基于MCP23S17的输入输出功能模块控制被打赏¥20元 | |
| 【S32K3XX】SPD 软件包使用Link文件修改被打赏¥22元 | |
| Switch-Case局部变量定义问题被打赏¥23元 | |
| 基于米尔TIAM62L开发板的串口通信及应用被打赏¥20元 | |
| PCF8574功能模块及其使用被打赏¥20元 | |
| 传感器LSM6DSO及LIS3MDL的功能检测被打赏¥18元 | |
| LPS25HB气压传感器及其检测被打赏¥18元 | |
| HTS221温湿度传感器及其检测被打赏¥18元 | |
| 【S32K3XX】HSE FW 版本更新被打赏¥21元 | |
| 基于ArduinoUNO开发板的AT24C02读写测试被打赏¥16元 | |
我要赚赏金
