OpenEdv-开源电子网

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

如何对不同端口下引脚凑成的20位整型数据输出赋值最快?

[复制链接]

6

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
92
金钱
92
注册时间
2014-6-19
在线时间
16 小时
发表于 2017-2-6 21:19:00 | 显示全部楼层 |阅读模式
10金钱
    我这边需要做一个20位引脚的输出,理论上应该同时输出的。但已经用到的ARM管脚功能分布的比较散,无法做到将输出数据线单独放到某个端口(PORTA或PORTB或PORTC)的整8位引脚上。我这里需要将一个20位长度的长整型数据一位一位的赋值到管脚上,个人感觉赋值前后时差太大了。不知谁有比较好的方法。个人觉得是不是做一个结构体来实现,但具体怎么做还没想好,谁有类似经验,万望赐教,谢谢。


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

24

主题

695

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1666
金钱
1666
注册时间
2016-4-29
在线时间
266 小时
发表于 2017-2-6 21:23:39 | 显示全部楼层
这种误差应该可以忽略吧
回复

使用道具 举报

6

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
92
金钱
92
注册时间
2014-6-19
在线时间
16 小时
 楼主| 发表于 2017-2-6 22:14:13 | 显示全部楼层
d1z1y2 发表于 2017-2-6 21:23
这种误差应该可以忽略吧

误差越低越好,因为我的程序要求是通断时间是一致的
回复

使用道具 举报

0

主题

9

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
349
金钱
349
注册时间
2017-1-20
在线时间
30 小时
发表于 2017-2-7 10:19:41 | 显示全部楼层
怎么会要一位一位赋值呢,你不是可以给整个POARTA PORTB PORTC赋值吗,虽然不连续,但是也是只要3条语句就行了,这个误差可以忽略了
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2017-2-7 11:42:03 | 显示全部楼层
帮顶
回复

使用道具 举报

69

主题

978

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3772
金钱
3772
注册时间
2015-4-26
在线时间
765 小时
发表于 2017-2-7 11:48:00 | 显示全部楼层
不管怎样赋值就是个简单数学运算,快能快到哪里去。汇编会不会更快?
我有故事,你有酒吗
回复

使用道具 举报

6

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
92
金钱
92
注册时间
2014-6-19
在线时间
16 小时
 楼主| 发表于 2017-2-7 14:51:46 | 显示全部楼层
wxyd2012 发表于 2017-2-7 10:19
怎么会要一位一位赋值呢,你不是可以给整个POARTA PORTB PORTC赋值吗,虽然不连续,但是也是只要3条语句就行了 ...

管脚顺序都乱了,估计赋值的时候需要按位操作了——我看看能不能用位的结构体和联合体的灵活运用了。不过到时候每组PORT只有部分引脚被赋值,对那些已经设置为其他非普通IO的管脚应该没影响吧。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-12 19:23

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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