本帖最后由 panxiaoyi 于 2023-4-3 23:54 编辑
全部代码#include "SYSCFG.h"
volatile char W_TMP [url=home.php?mod=space&uid=72445]@[/url] 0x70 ; //系统占用不可以删除和修改
volatile char BSR_TMP @ 0x71 ; //系统占用不可以删除和修改
void user_isr(); //用户中断程序,不可删除
void interrupt ISR(void)
{
#asm; //系统设置不可以删除和修改
NOP; //系统设置不可以删除和修改
NOP; //系统设置不可以删除和修改
NOP; //系统设置不可以删除和修改
NOP; //系统设置不可以删除和修改
NOP; //系统设置不可以删除和修改
NOP; //系统设置不可以删除和修改
NOP; //系统设置不可以删除和修改
NOP; //系统设置不可以删除和修改
NOP; //系统设置不可以删除和修改
NOP; //系统设置不可以删除和修改
NOP; //系统设置不可以删除和修改
NOP; //系统设置不可以删除和修改
NOP; //系统设置不可以删除和修改
NOP; //系统设置不可以删除和修改
NOP; //系统设置不可以删除和修改
NOP; //系统设置不可以删除和修改
NOP; //系统设置不可以删除和修改
NOP; //系统设置不可以删除和修改
NOP; //系统设置不可以删除和修改
NOP; //系统设置不可以删除和修改
NOP; //系统设置不可以删除和修改
#endasm; //系统设置不可以删除和修改
user_isr(); //用户中断函数
}
void user_isr() //用户中断函数
{
}
//上面的是创建 FT61F14 芯片的工程时,软件自动生成的代码
//下面的是我遇到问题,一路排查,最后发现的问题点,以最简单的代码方式展现出来
unsigned char func(unsigned char SW, unsigned char T1, unsigned char T2)
{
return (SW+T1+T2);
}
main()
{
while(1)
{
unsigned char aaa=0;
unsigned char ccc=3;;
unsigned char kkk;
aaa++;
kkk=func((aaa&5), 2, ccc); //正确
kkk=func((aaa&5), 1, ccc); //芯片 FT61F14 报错, FT61F13 正确
kkk=func((aaa&5), 0, ccc); //芯片 FT61F14 报错, FT61F13 正确
kkk=func((aaa^5), 0, ccc); //正确
kkk=func((aaa+5), 0, ccc); //正确
PORTA=kkk;
}
}
|