你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32CubeMX用LL库配置STM32F1的GPIO初始化是不是有bug呢

[复制链接]
哀歌与世无争 提问时间:2018-2-22 12:31 /
阅读主题, 点击返回1楼
收藏 评论22 发布时间:2018-2-22 12:31
22个回答
MrJiu 回答时间:2018-2-24 13:36:39
看来LL库确实还是有问题!!!还好我目前用的是Hal库,上次生成一次ll库看了看就发现好多都是用的宏定义实现的,也不知道高明在哪个地方!!!
哀歌与世无争 回答时间:2018-2-24 20:20:43
xulei007 发表于 2018-2-24 11:51
可以试着修复一下嘛~我直接改pinpos并不能正确初始化,后面还有一个currenpin,应该是指向正确的寄存器位 ...

  currenpin后面有个 LL_GPIO_SetPinMode(GPIOx, currentpin, GPIO_InitStruct->Mode)函数,经过这个函数后寄存器的值就开始不对了,跟踪进去里面有个
MODIFY_REG(*pReg, ((GPIO_CRL_CNF0|GPIO_CRL_MODE0) << (POSITION_VAL(Pin) * 4U)), (Mode << (POSITION_VAL(Pin) * 4U)));
看名字是在修改寄存器的值,但是这个东西全是用宏定义拼起来的,太多宏太恶心了,实在看不下去了。
xulei007 回答时间:2018-2-26 22:29:44
本帖最后由 xulei007 于 2018-2-26 22:32 编辑

sssssssssssssssssss
xmstudio 回答时间:2018-2-27 11:48:48
问一下LL库和HAL库相比有什么优势呢?
yizushijie 回答时间:2018-2-27 21:47:25
F1的LL库Bug很多,端口寄存器的都能错误
哀歌与世无争 回答时间:2018-2-28 11:05:18
xmstudio 发表于 2018-2-27 11:48
问一下LL库和HAL库相比有什么优势呢?

HAL为了好移植封装了很多,搞了类似硬件抽象层,被人吐槽效率不高,又出了个LL库跟它配合,LL更接近底层,但是API比较少,两个库可以混编也能独立使用,st可能想两个库互补,要效率的外设用LL库,要应用开发用HAL。
xmstudio 回答时间:2018-2-28 11:17:08
哀歌与世无争 发表于 2018-2-28 11:05
HAL为了好移植封装了很多,搞了类似硬件抽象层,被人吐槽效率不高,又出了个LL库跟它配合,LL更接近底层 ...

我也喜欢底层代码,有时候还会直接操作寄存器,感觉LL库要是完善了会很好用吧
x8421 回答时间:2018-2-28 11:29:02
蹭蹭经验
板子粉丝 回答时间:2018-3-1 08:54:36
听高手分析,看看哪个好
candor2013 回答时间:2018-3-1 17:03:02
stm32f103 c8t6,遇到了跟楼主一样的问题。。。好恶心

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版