MrJiu 发表于 2018-2-24 13:36:39

看来LL库确实还是有问题!!!还好我目前用的是Hal库,;P;P;P上次生成一次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,遇到了跟楼主一样的问题。。。好恶心
页: 1 [2] 3
查看完整版本: STM32CubeMX用LL库配置STM32F1的GPIO初始化是不是有bug呢