打印
[信息]

求库函数编程的方法技巧

[复制链接]
1281|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
huangfeng33|  楼主 | 2014-1-10 10:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
接触STM32已经有一段时间了,采用的是基于ST库函数的编程方式。
感觉STM32的模块化做的非常好,非常方便移植。但是这种库函数编程方式还不是很适应。
最大的不适应就是找相关的库函数。当脱离了例程之后,自己独立写的时候,没有一个清晰的思路。相比较以往的编程,就是程序逻辑性很低。不知道怎么写下去

比如说外部中断,配置中断时:先配置对应io口,然后配置NVIC中断管理,然后写中断服务程序。这一步是清晰的
可是当我需要在这其中做点改变时,比如有两个外部中断 pa.0 pa.1我需要在pa.0计进入中断次数count ,到20次时,我就关闭pa.0,开启pa1,然后在pa.1中开启pa.0中断

这时我想的是将中断相应使能位置0,置1,但是问题是库函数方式将这些数据都封装成结构体。比如       
        EXTI_InitStructure.EXTI_Line=EXTI_Line15;
          EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;       
          EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
          EXTI_InitStructure.EXTI_LineCmd = ENABLE;
          EXTI_Init(&EXTI_InitStructure);

你想该,那么得在改变这个结构体。非常繁琐【可行性尚未验证】
那么我就想另外一种思路,有没有相关的封装好的库函数呢。查找固件库,发现没有【TIME中断好像有】
这样的情况非常常见,学习了这么长时间,始终得不到库函数编程的方法技巧。。。。求指导,求分享心得



沙发
diweo| | 2014-1-10 16:17 | 只看该作者
获取结构体,根据需要改变其中某些字段。
很繁琐吗?

使用特权

评论回复
板凳
ahuzjh| | 2014-1-10 16:47 | 只看该作者
个人建议:想改变什么自己先封装好,具体封装内的设置就看你的具体选择了,然后调用你自己封装好的函数直接改变就行了。配置函数单独写出来就好了。

使用特权

评论回复
地板
拿起书本| | 2014-1-10 21:49 | 只看该作者
代码量是多了些.你就改结构体吧.
我一般都是用寄存器多,所以,不存在楼主式的苦恼哈,呵呵

使用特权

评论回复
5
max_v| | 2014-1-10 22:19 | 只看该作者
套路都是一样的,多写写就了解了

使用特权

评论回复
6
airwill| | 2014-1-11 12:22 | 只看该作者
库函数方式将数据都封装成结构体。是的
其实这是个应付复杂参数和控制的好的办法, 如果看过 Windows 的编程, 就知道那里普遍采用这样的方法.
你的合适的态度是: 应该熟悉和习惯这种方法

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

506

主题

2446

帖子

8

粉丝