7022|19

76

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

改了两天,终于改完STM32的头文件了! [复制链接]

ST原来的那个什么库操作方式实在是用不惯. 将头文件改为寄存器可位段访问的方式.方便多了!
反正CM3是支持位段操作的, 所以新方式比库操作更直观,效率也没降低! 
此帖出自stm32/stm8论坛

最新回复

                                     详情 回复 发表于 2008-7-4 09:15
点赞 关注
 

回复
举报

59

帖子

0

TA的资源

一粒金砂(初级)

沙发
 

贴个例子

                                 贴个函数出来给大家学习,看看是否更易用
此帖出自stm32/stm8论坛
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

板凳
 

谢谢楼主分享一下

                                 直接操作寄存器肯定比使用库函数效率高,但使用库函数可以较快上手,熟悉了之后要求高效率时,最好直接操作寄存器。
此帖出自stm32/stm8论坛
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

4
 

等我检查完后传上来吧! 里面可能还有错!需要查

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

5
 

选错表情了!

                                 很奇怪的是ST的文档里有关NVIC的描述很少!  硬件的那个中断分配到NVIC的那条线上也没有描述! 这个库可封得够彻底啊!  非得要我去看库的源文件!
此帖出自stm32/stm8论坛
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

6
 

使用例子

    RCC->CR.B.PLLON = 1;
    RCC->CR.W = 0xffff;
此帖出自stm32/stm8论坛
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

7
 

操作例子说明

RCC->CR.B.PLLON = 1;        //位段操作,一次操作只更改感兴趣的位段
RCC->CR.W = 0xffff;         //整个寄存器一次操作,一次操作整个寄存器
此帖出自stm32/stm8论坛
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

8
 

请参考ARM公司的文档《Cortex-M3技术参考手册》

                                 这部分内容是在ARM公司关于Cortex-M3的文档中,有关NVIC一章中。
此帖出自stm32/stm8论坛
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

9
 

这个文档里没有有关STM32的中断定义,只是NVIC的通用说明

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(中级)

10
 

硬件的哪个中断分配到NVIC的哪条线上的描述

请看STM32技术参考手册的第8.1.2节Interrupt and exception vectors,表35列出了所有中断源的分配。
相关链接:http://www.st.com/stonline/products/literature/rm/13902.pdf
此帖出自stm32/stm8论坛
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

11
 

那个地儿我看了好几遍!

                                 还是看得不认真啊! 谢了先
此帖出自stm32/stm8论坛
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

12
 

直接操作寄存器习惯些,象AVR头文件样就好了!

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

85

帖子

0

TA的资源

一粒金砂(初级)

13
 

直接操作寄存器可能使得项目难以移植

                                 建议用宏来封装寄存器的各个功能,编程方便,而且移植时只需要修改宏就可以了
此帖出自stm32/stm8论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

14
 

当然是用宏和数据结构封装

头文件适合当前所有STM32的器件,根据芯片更改宏后自动屏蔽相应的硬件!
直接位段操作,不用记库里那一堆函数. 更直观!
此帖出自stm32/stm8论坛
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

15
 

哈哈~~~俺的简单例子也是直接操作寄存器的~~~否则,

 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

16
 

LS:看了一下

                                 建议寄存器的定义加上volatile,小心莫名其妙的错误,哈哈
此帖出自stm32/stm8论坛
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

17
 

WWDG的

typedef struct
{
    union
    {
        struct
        {
            vu32 T            :7;
            vu32 WDGA        :1;
            vu32 NC            :24;
        } B;
        vu32 W;
    } CR;
    union
    {
        struct
        {
            vu32 W            :7;
            vu32 WDGTB        :2;
            vu32 EWI        :1;
            vu32 NC            :22;
        } B;
        vu32 W;
    } CFR;
    union
    {
        struct
        {
            vu32 EWIF        :1;
            vu32 NC            :31;
        } B;
        vu32 W;
    } SR;
} WWDG_TypeDef;
此帖出自stm32/stm8论坛
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

18
 

没必要

                                 尽量减少位域
此帖出自stm32/stm8论坛
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

19
 

大部分只是在初始化用!

                                 和个人习惯有关!
此帖出自stm32/stm8论坛
 
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

20
 

simon21ic提醒得对要加volatile!!

                                  
此帖出自stm32/stm8论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表