如何解决为什么我只能从 TImer0 中断获得 6 个脉冲?
我只从中断中获得 RA2 (LED) 中的 6 个脉冲。信号应该是脉冲串(每秒一个脉冲)。这是模拟中的代码和图片 pulses comming from RA2 (LED) 希望你能帮我解决这个问题 最好的祝福, 理查
#include <pic.h>
#include <htc.h>
void Initialization ();
__CONFIG(FOSC_LP & WDTE_ON & PWRTE_OFF & CP_OFF);
#define _XTAL_FREQ 32768
#define Drive1 RA0
#define Drive0 RA1
#define Machine RB4
#define LED RA2
#define Stall_In RB0
int S = 0;
void main()
{
Initialization ();
while (1)
{
//do something after interrupts
}
}
void Initialization(void)
{
TRISA = 0b00000000;
TRISB = 0b00000001;
OPTION_REG = 0b00000101;
INTCON = 0b10100000;
TMR0 = 128;
LED = 0;
Stall_In = 0;
Drive0 = 0;
Drive1 = 0;
Machine = 0;
}
void interrupt tc_int(void)
{
if (T0IE && T0IF)
{
T0IE = 0;
T0IF=0;
TMR0 = 128;
S = S+1;
LED = 1;
LED = 0;
T0IE = 1;
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。