共7条
1/1 1 跳转至页
请问aduc7026的2个外部中断程序怎么写?
2楼
7026只有一个中断服务程序,这个确实有待提高。
但在中断服务函数中判断是哪个中断,然后执行那个,是可以的啊。
楼主可以看看你的中断服务程序,有没有把中断标志弄错了。或者把你的if结构的两个部分换个顺序试试看
但在中断服务函数中判断是哪个中断,然后执行那个,是可以的啊。
楼主可以看看你的中断服务程序,有没有把中断标志弄错了。或者把你的if结构的两个部分换个顺序试试看
4楼
你这个写法不好,建议换成下面的:
if( (IRQSTA & XIRQ0_BIT) != 0 )
{...................
}
if( (IRQSTA & XIRQ1_BIT) != 0 )
{
.............................
}
现在试试看还是那样子吗?
if( (IRQSTA & XIRQ0_BIT) != 0 )
{...................
}
if( (IRQSTA & XIRQ1_BIT) != 0 )
{
.............................
}
现在试试看还是那样子吗?
6楼
哦,原来如此啊。ADuC7026除了ADC和DAC外,功能稍显弱了,所有中断都使用一个中断向量,中断方式种类也很少。不过很方便上手就是了
7楼
想请教您关于ADCU7026的硬件I2C读写程序的问题,我用7026读加速度计LIS35DE一直不对,卡死在while((I2C1FSTA & 0x30)!=0x00){},这一步,不知道这个硬件I2C到底怎么用,下面是我的写和读的函数
void I2C_write(unsigned char Sads, unsigned char Dads, int d){
I2C1MTX=Dads;
I2C1ADR=Sads;
while((I2C1FSTA & 0x30)!=0x00){}
I2C1MTX=d;
while((I2C1FSTA & 0x30)!=0x00){}
I2C1CCNT=0x80;
}
void I2C_read(unsigned char Sads,unsigned char Dads)
{
I2C1MTX=Dads;
I2C1ADR=Sads;
while ((I2C1FSTA&0xC0)!=0x00){}
delay(4000);
I2C1CNT=count;
I2C1ADR=Sads+1;
if((I2C0MSTA & 0x8) == 0x8)
{
dat= I2C1MRX;
putchar(0xff);
}
}
希望能帮忙看一下,十分感谢
void I2C_write(unsigned char Sads, unsigned char Dads, int d){
I2C1MTX=Dads;
I2C1ADR=Sads;
while((I2C1FSTA & 0x30)!=0x00){}
I2C1MTX=d;
while((I2C1FSTA & 0x30)!=0x00){}
I2C1CCNT=0x80;
}
void I2C_read(unsigned char Sads,unsigned char Dads)
{
I2C1MTX=Dads;
I2C1ADR=Sads;
while ((I2C1FSTA&0xC0)!=0x00){}
delay(4000);
I2C1CNT=count;
I2C1ADR=Sads+1;
if((I2C0MSTA & 0x8) == 0x8)
{
dat= I2C1MRX;
putchar(0xff);
}
}
希望能帮忙看一下,十分感谢
共7条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |