找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1080|回复: 0
打印 上一主题 下一主题
收起左侧

关于stm8s单片机的库函数和寄存器问题请教

[复制链接]
跳转到指定楼层
楼主
ID:951974 发表于 2021-8-28 13:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
库函数
#define OLED_SCLK_Clr()   GPIO_WriteLow(GPIOB, GPIO_PIN_4)
#define OLED_SCLK_Set()  GPIO_WriteHigh(GPIOB, GPIO_PIN_4)
#define OLED_SDIN_Clr()   GPIO_WriteLow(GPIOB, GPIO_PIN_5)
#define OLED_SDIN_Set()  GPIO_WriteHigh(GPIOB, GPIO_PIN_5)
寄存器
#define OLED_SCLK_Clr()   PB_ODR_bit.ODR4 = 0
#define OLED_SCLK_Set()  PB_ODR_bit.ODR4 = 1
#define OLED_SDIN_Clr()   PB_ODR_bit.ODR5 = 0
#define OLED_SDIN_Set()  PB_ODR_bit.ODR5 = 1

引脚初始化都是用的下面的寄存器版
void OLED_Init(void)
{
  PB_DDR_bit.DDR4 = 1;   //设置PB->4 为输出
  PB_CR1_bit.C14 = 1;    //设置为推挽输出
  PB_CR2_bit.C24 = 1;    //设置高速输出
  PB_ODR_bit.ODR4 = 0;  //设置低电平输出

  PB_DDR_bit.DDR5 = 1;   //设置PB->5 为输出
  PB_CR1_bit.C15 = 1;    //设置为推挽输出
  PB_CR2_bit.C25 = 1;    //设置高速输出
  PB_ODR_bit.ODR5 = 0;  //设置低电平输出
}
如上,宏定义这两个应该是等价的,一个是库函数操作,一个是直接操作寄存器,问题是上面的库函数正常显示,下面的寄存器就不行,编译不报错但是不显示,问题出在哪里百思不得其解
还请大神指教,谢谢


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表