你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
举报
zhuoyemp4 发表于 2015-5-11 15:05 还有,在stm8.h中对这些只由调试模块访问的CPU寄存器是没有做定义的,我是自己加了定义、地址映射后去调试 ...
超级小新 发表于 2015-5-16 09:34 头文件我用的是具体的ic型号,不是stm8.h,里面是有定义的
在数据手册中,Register map一节中,表格 CPU/SWIM/debug module/interrupt controller registers下面有条对CPU寄存器的注释,“Accessible by debug module only”(只由调试模块访问)。我在IAR中调试观察CPU_CCR_C的值,发现程序执行到A=B+C;(B=0XB5,C=0X94,肯定让C置位)但还没执行这句时,C已经是1了,执行完这句,C就成0了。就像你的程序里,在执行到PD_ODR_ODR3 = CPU_CCR_C; 时,C已经是0了。
还有,在stm8.h中对这些只由调试模块访问的CPU寄存器是没有做定义的,我是自己加了定义、地址映射后去调试的。你不加还能编译通过?难道我们的头文件不一样?
用的是IAR,这个问题我解决了!!假如要真的这样读bit,嵌入汇编即可!!
头文件我用的是具体的ic型号,不是stm8.h,里面是有定义的
不管怎样,cpu寄存器只由调试模块访问,写程序是访问不了的