19
83
824
高级会员
void BSP_GPIO_Init() { GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.Mode = GPIO_OUT_PP; GPIO_InitStructure.Pin = GPIO_Pin_All; GPIO_Inilize(GPIO_P2,&GPIO_InitStructure); //P2M0 = 0xff; P2M1 = 0x00; P2 = 0xff; }理论上来说这个配置是能够让P2口输出高电平的,但是实测输出不了高电平,只有把GPIO_InitTypeDef GPIO_InitStructure;改为idata GPIO_InitTypeDef GPIO_InitStructure;才能正常把P2口配置为推挽输出,不知道是不是结构体指针问题。 原本是想把AI8051的ST7789驱动移植到STC8上,我把工程贴在下面,各位大佬可以帮我看看,解释一下原因。
STC8H8K64U.zip
2025-6-5 23:41 上传
点击文件名下载附件
183.3 KB, 下载次数: 23
使用道具 举报 送花
3
2078
1004
等待验证会员
cvoid BSPGPIOInit() { GPIOInitialized = ( GPIOInitialized = GPIOInitTypeDef GPIO/Edit ); // ...其他代码}复制代码
116
2678
6672
版主
王*** 发表于 2025-6-6 09:30 要用全局变量,否则可能会被编译器优化 以下是测试通过的,可以P2口正常输出高电平的程序:
78
2831
5857
荣誉版主
无情的代码机器
本版积分规则 发表回复 回帖后跳转到最后一页
|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )
GMT+8, 2025-8-10 07:07 , Processed in 0.116757 second(s), 68 queries .
Powered by Discuz! X3.5
© 2001-2025 Discuz! Team.