驱动编译报错

[复制链接]
1897|9
 楼主| LKHZGD 发表于 2024-3-28 20:08 | 显示全部楼层 |阅读模式
  1. #define DBH_GPIO_PORT_ADDR  ((uint16_t *)&GPIOE->ODR)
  2. #define DBL_GPIO_PORT_ADDR  ((uint16_t *)&GPIOE->ODR)

  3. void WritteComm(uint16_t i)       //写命令
  4. {
  5.    LCD_CS_CLR ; //0
  6.   
  7.    LCD_RD_SET ; //1
  8.    LCD_RS_CLR ; //0
  9.    
  10.     *DBH_GPIO_PORT_ADDR = (i >> 8) & 0xFF;  //发送高字节
  11.     *DBL_GPIO_PORT_ADDR = i & 0xFF;         //发送低字节

  12.    LCD_WR_CLR; //0
  13.    LCD_WR_SET; //1

这函数编译报错,提示 lcd(14):错误:#44:表达式必须有指针类型

BH_GPIO_PORT_ADDR = (i >> 8) & 0xFF;//发送高字节
硬件\ lcd(15):错误:#44:表达式必须有指针类型

需要这么修改,高手指点,谢谢
classroom 发表于 2024-3-29 12:30 | 显示全部楼层
缺少工具包
laocuo1142 发表于 2024-3-29 14:30 | 显示全部楼层
未定义的引用
flycamelaaa 发表于 2024-3-29 15:12 | 显示全部楼层
编译器版本过低
powerantone 发表于 2024-3-29 16:23 | 显示全部楼层
在进行新的编译尝试之前,清理之前的编译结果可以避免因为旧的编译文件导致的问题。这通常可以通过执行"make clean"命令来完成。
probedog 发表于 2024-3-29 19:23 | 显示全部楼层
检查Makefile文件
xlhmx 发表于 2024-3-31 12:07 | 显示全部楼层
检查LCD_WR_CLR和LCD_WR_SET的定义
xlhmx 发表于 2024-3-31 12:08 | 显示全部楼层
编译错误提示表明在LCD_WR_CLR和LCD_WR_SET的赋值语句中,指针类型的表达式出现问题。
wangtaohui 发表于 2024-7-31 22:26 | 显示全部楼层
GPIOE->ODR 是一个 32 位寄存器,你不能将其地址转换为 uint16_t *。如果你确实需要操作 ODR 的高低字节,你应该直接对其进行位操作。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

14

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部