为什么C8T6不能使用位带操作

2019-08-13 19:22发布

T向C8T6上下载库函数和寄存器函数,都可以使LED灯闪烁,而位操作函数就不行。



led.h文件里定义了灯的位函数
#define LED0   PBout(12)       




main函数中
  delay_init();               
        LED_Init();                       
        while(1)
        {
                LED0=0;                  //位操作
                //GPIO_SetBits(GPIOB,GPIO_Pin_12);   //库函数
                //GPIOB->BRR=GPIO_Pin_5;  //寄存器
                delay_ms(300);  
                LED0=1;                        //位操作
                //GPIO_ResetBits(GPIOB,GPIO_Pin_12); //库函数
                //GPIOB->BSRR=GPIO_Pin_5;//寄存器
                delay_ms(300);                    
        }

位操作就不行,是C8T6不支持吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
d1z1y2
1楼-- · 2019-08-13 23:30
可以肯定的说,是可以的,再检查一下
cxf0153
2楼-- · 2019-08-14 01:00
BRR和BSRR都是只写寄存器,应该不能进行位运算吧。
jokeym
3楼-- · 2019-08-14 03:22
300ms你的眼睛是反应不过来的、你仿一下、在每个delay_ms(300) 打个断点就看清了
psychoo
4楼-- · 2019-08-14 07:45
 精彩回答 2  元偷偷看……
szczyb1314
5楼-- · 2019-08-14 07:46
发个你的工程上来看看
xlong_06
6楼-- · 2019-08-14 12:44
delay_ms(300); 看你的这个延时是否准确,适当加长时间试试,可以位操作。

一周热门 更多>