想请教下这是什么操作?

2019-10-14 21:26发布



struct SPin M1DIR = {GPIOB, GPIO_Pin_2,GPIO_Mode_Out_PP,GPIO_Speed_50MHz};
struct SPin M1EN = {GPIOB, GPIO_Pin_8,GPIO_Mode_AF_PP,GPIO_Speed_50MHz};
struct SPin M2DIR = {GPIOB, GPIO_Pin_3,GPIO_Mode_Out_PP,GPIO_Speed_50MHz};
struct SPin M2EN = {GPIOB, GPIO_Pin_9,GPIO_Mode_AF_PP,GPIO_Speed_50MHz};



void WriteDO(struct SPin stcPin, unsigned char ucData)
{
        if (ucData>0)
                stcPin.GPIOx->BSRR = stcPin.GPIO_Pin;
        else
                stcPin.GPIOx->BRR = stcPin.GPIO_Pin;
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
我是三三三三b
1楼-- · 2019-10-14 22:17
 精彩回答 2  元偷偷看……
来俩不甜的
2楼-- · 2019-10-15 03:08
就是把寄存器各种封装后,通过结构体调用。你需要发上来的是struct spin 的定义
我是三三三三b
3楼-- · 2019-10-15 08:07
来俩不甜的 发表于 2017-3-4 16:21
就是把寄存器各种封装后,通过结构体调用。你需要发上来的是struct spin 的定义

C:UsershpDesktop
我是三三三三b
4楼-- · 2019-10-15 08:20
我是三三三三b 发表于 2017-3-4 16:24

struct SPin
{
        GPIO_TypeDef* GPIOx;
        unsigned long GPIO_Pin;
        GPIOMode_TypeDef GPIO_Mode;
        GPIOSpeed_TypeDef GPIO_Speed;
};   


其实就是这个东西   没见过这种操作 为什么要写如BRR 等里面去
peng1554
5楼-- · 2019-10-15 10:07
运用结构体,把相关的寄存器封装在一起。不懂的话可以看看原子的视频:


网站的   资料下载   那一栏有下载的。


我是三三三三b
6楼-- · 2019-10-15 12:26
 精彩回答 2  元偷偷看……

一周热门 更多>