OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 8519|回复: 15

如果想在一份代码里面,即使用库函数又使用寄存器直接赋值,头文件该怎么改???

[复制链接]

9

主题

42

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2013-7-22
在线时间
0 小时
发表于 2013-7-30 12:26:49 | 显示全部楼层 |阅读模式
如果想在一份代码里面,即使用库函数又使用寄存器直接赋值,头文件该怎么改???
我试过在库函数版本书籍做的一个模板下使用寄存器进行直接赋值,但是会出错,不允许使用寄存器。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

9

主题

42

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2013-7-22
在线时间
0 小时
 楼主| 发表于 2013-7-30 12:28:25 | 显示全部楼层
就是原子哥你的那本书的库函数版本
回复 支持 反对

使用道具 举报

109

主题

1606

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2222
金钱
2222
注册时间
2011-12-15
在线时间
37 小时
发表于 2013-7-30 12:55:10 | 显示全部楼层
不用改头文件,在库底下是支持寄存器操作的,但不能寄存器底下操作库。
专业制作STM32 物联网通信模块板,模块交流群:369840039。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-7-30 13:11:34 | 显示全部楼层
在库函数代码里面加入寄存器是很方便的啊,都不用加头文件了,直接用库函数包含的 就可以用。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

9

主题

42

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2013-7-22
在线时间
0 小时
 楼主| 发表于 2013-7-30 13:14:22 | 显示全部楼层




不行的,报错,例如调用寄存器AFIO_MAPR,报错,因为库函数没法修改其第12位,所以我希望通过直接操作这个寄存器来实现,但是报错
回复 支持 反对

使用道具 举报

9

主题

42

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2013-7-22
在线时间
0 小时
 楼主| 发表于 2013-7-30 13:58:48 | 显示全部楼层
问题源代码,只加了一句AFIO_MAPR=0x0000 0000;

无法操作寄存器 ,实验10 输入捕获实验.rar

1.72 MB, 下载次数: 964

回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-7-30 15:03:37 | 显示全部楼层
回复【6楼】381426068:
---------------------------------
看来你还真是没用过寄存器啊,好歹可以去参考下我们的寄存器版本代码啊!!!
AFIO_MAPR在stm32参考手册是这么写,到MDK就不是这么写了!!
改为:
AFIO->MAPR=0x00000000;
就一切正常了.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

9

主题

42

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2013-7-22
在线时间
0 小时
 楼主| 发表于 2013-7-30 15:36:44 | 显示全部楼层
回复【7楼】正点原子:

回复【6楼】381426068:
---------------------------------
看来你还真是没用过寄存器啊,好歹可以去参考下我们的寄存器版本代码啊!!!
AFIO_MAPR在stm32参考手册是这么写,到MDK就不是这么写了!!
改为:
AFIO->MAPR=0x00000000;
就一切正常了.

---------------------------------
哦哦~~谢谢!!
回复 支持 反对

使用道具 举报

9

主题

42

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2013-7-22
在线时间
0 小时
 楼主| 发表于 2013-7-30 19:35:22 | 显示全部楼层
回复【7楼】正点原子:

回复【6楼】381426068:
---------------------------------
看来你还真是没用过寄存器啊,好歹可以去参考下我们的寄存器版本代码啊!!!
AFIO_MAPR在stm32参考手册是这么写,到MDK就不是这么写了!!
改为:
AFIO->MAPR=0x00000000;
就一切正常了.

---------------------------------
AFIO->MAPR=0x00000000; //这个是不是不对的?
AFIO是一个32位寄存器,MAPR是它的其中一位
是不是应该是
AFIO->MAPR=0;或者AFIO->MAPR=0=1;
???
回复 支持 反对

使用道具 举报

9

主题

42

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2013-7-22
在线时间
0 小时
 楼主| 发表于 2013-7-30 19:35:38 | 显示全部楼层
AFIO->MAPR=0;或者AFIO->MAPR=1;
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-7-30 21:48:09 | 显示全部楼层
回复【10楼】381426068:
---------------------------------
我觉得你还是多练习些代码再说.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

9

主题

42

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2013-7-22
在线时间
0 小时
 楼主| 发表于 2013-7-31 12:33:12 | 显示全部楼层
回复【11楼】正点原子:

回复【10楼】381426068:
---------------------------------
我觉得你还是多练习些代码再说.

---------------------------------
原子哥,我看了很多代码都是AFIO->MAPR=0x00000000; 像你那样写的,我从参考手册看到MAPR的确只是AFIO寄存器的一个位,到底该怎么理解的?求救,百度也不知道该百度什么,
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-7-31 13:42:24 | 显示全部楼层
回复【12楼】381426068:
---------------------------------
不是很懂你的意思.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

3

主题

43

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
373
金钱
373
注册时间
2013-6-1
在线时间
54 小时
发表于 2013-7-31 14:33:27 | 显示全部楼层
回复【12楼】381426068:

回复【11楼】正点原子:
回复【10楼】381426068:
---------------------------------
我觉得你还是多练习些代码再说.

---------------------------------
原子哥,我看了很多代码都是AFIO->MAPR=0x00000000; 像你那样写的,我从参考手册看到MAPR的确只是AFIO寄存器的一个位,到底该怎么理解的?求救,百度也不知道该百度什么,

---------------------------------
AFIO->MAPR是一个32位的寄存器吧!应该不是一位的,你进入它的结构体定义那里就可以看出是几位的寄存器了。
回复 支持 反对

使用道具 举报

9

主题

42

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2013-7-22
在线时间
0 小时
 楼主| 发表于 2013-7-31 20:51:18 | 显示全部楼层
哦,原来是看错了
回复 支持 反对

使用道具 举报

9

主题

42

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2013-7-22
在线时间
0 小时
 楼主| 发表于 2013-7-31 20:51:35 | 显示全部楼层
感激各位
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-15 21:05

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表