📄 interrupt.h
字号:
//interrupt [TIMER1_OVF1_vect] void Timer1_OVF_interrupt(void)
//{
// TCNT1=45536;
//}
interrupt [TIM0_OVF] void Timer0_OVF_interrupt(void)
{
unsigned char InByte;
unsigned char Status;
TCNT0=227; //Sample Time 2000ms
ADCSRA|=0x40;
Status=ADCSRA;
while ((Status&0x10)==0) {
//if ((Status&0x40)==0) break;
Status=ADCSRA;
}
ADCSRA|=0x10;
VR=ADCW;
Ek_1=Ek;
DaOut_1=DaOut;
Ek=VCmd-VR;
DaOut=DaOut_1+KP_21*(Ek-Ek_1)+(0.05*Ek);
if (DaOut>4095) DaOut=4000;
if (DaOut<0) DaOut=0;
SendDA();
MotorSpeed+=1;
if (MotorSpeed>=20000) {
PORTD^=0x80;
MotorSpeed=0;
}
if (MotorSpeed<10000) VCmd=102;
else VCmd=512;
}
/*
interrupt [UART_RX_vect] void UART_RX_interrupt(void)
{
unsigned char ch;
PORTB&=0xfe;
ch=UDR;
RxdBuf[RxdIndex]=ch&0x7f;
if (RxdBuf[RxdIndex]==ETX) {
ReceivedEnd=1;
ReceivedByte=RxdIndex;
RxdIndex=0;
}
else {
RxdIndex++;
if (RxdIndex>99) RxdIndex=0;
}
PORTB|=0x01;
}
interrupt [UART_TX_vect] void UART_TX_interrupt(void)
{
TxdIndex++;
if (TxdIndex<TxdByte) {
UDR=TxdBuf[TxdIndex];
}
PORTB|=0x01;
}
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -