找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1378|回复: 11
收起左侧

关于程序从电脑写入单片的问题

[复制链接]
ID:1047240 发表于 2022-10-11 19:06 | 显示全部楼层 |阅读模式
新手有一个疑问,首先是电脑有没有频率控制的设置。
如果没有的话以我小白的认知电脑是至少8位一处理,这个过程中是以主频的速度进行的,也就是CPU频率。但是单片的硬件无法进行这么高速的读存操作。
那么是否需要自建一个低频的读存装置来从电脑存入的存储器里读出来存到单片里?
高速读写低速硬件不行但是低速读取高速硬件可行,这个认识没问题吧?

我不知道USB那个存储卡的速率,但是我没看见电脑编程中有控制频率的函数。有没有大佬来解说一下
回复

使用道具 举报

ID:1047240 发表于 2022-10-11 20:07 | 显示全部楼层
还有通信协议这个问题,单片的通信协议是什么东西?比如说我要读一块外部存储卡的信息,我需要对它按什么顺序发送什么?
回复

使用道具 举报

ID:879348 发表于 2022-10-12 08:42 | 显示全部楼层
硬件通信都有一个交互等待,无论谁快谁慢都要相互等待,这个等待期间当然是去做其他事,所以电脑就不会卡
回复

使用道具 举报

ID:123289 发表于 2022-10-12 08:55 | 显示全部楼层
建议:
学习串口通讯及相关协议。了解232通讯协议、USB通讯协议后基本上就明白了。
你掺着3岁孩童走路,是如何与之同步的呢?道理是相通的,即快的等慢的。
又如:一批人约好晨跑,虽然能力各不一样,但大家都能默契地跑在一齐。这个默契就是一个隐含的协议。
回复

使用道具 举报

ID:1047240 发表于 2022-10-12 15:24 | 显示全部楼层
wufa1986 发表于 2022-10-12 08:42
硬件通信都有一个交互等待,无论谁快谁慢都要相互等待,这个等待期间当然是去做其他事,所以电脑就不会卡

学之前我想问问,也许就问清楚了我的意思其实是电脑每次最少必须处理8次信号,这个处理过程是以电脑的频率进行的,而单片硬件单位比较粗糙反应较慢如果接受过高的频率会产生错误。
所以电脑不能变频的话即使中间加入内存那也是过后以电脑的频率读取写入单片啊。
单片能自己读取写入吗?我也有过这种可能的想法,只是我印象里单片得先有读写的程序才能自己读写所以不认为电脑写入单片的时候单片他可以自己读入。
并不是说电脑会卡。
回复

使用道具 举报

ID:1047240 发表于 2022-10-12 15:40 | 显示全部楼层
yzwzfyz 发表于 2022-10-12 08:55
建议:
学习串口通讯及相关协议。了解232通讯协议、USB通讯协议后基本上就明白了。
你掺着3岁孩童走路, ...

我问的道理不是搀着走路,是小孩不走路但是大人每次必须走8大步。电脑每处理一次最少8位啊,根据我学编程的时候看的它的硬件应该是规定每次必须大于等于8位的不能间隔慢下来,但是小孩单片的硬件间隔又必须有那个间隔。所以我才问是不是要有个慢速的读写频率充当中间调度工具来读取电脑存到某个地方的信息再传给单片,
232通信协议我百度了一下,看了开头我就产生了疑问。事实上格式跟我想的差不多。但是不明白格式的长度后面还要加数据....沉余这些是什么,是分开的吗?前面是读如果包括后面数据那些是写?
回复

使用道具 举报

ID:88256 发表于 2022-10-12 15:55 | 显示全部楼层
正在学习51 发表于 2022-10-12 15:24
学之前我想问问,也许就问清楚了我的意思其实是电脑每次最少必须处理8次信号,这个处理过程是以电 ...

电脑和单片机是进行通信的,而不是写入单片机,比如用串口232进行通信,双方得约好通信的速度,比如是9600,这是双方都可以接受的速度,不存在单片机反应不过来的问题,单片机接收到数据,是存储进自己的存储单元并通知单片机接收到数据了,由单片机进行后续处理。
电脑快,但是电脑也是一个字节一个位数进行传送的,而不是一股脑儿把数据都塞给单片机,也别担心电脑会空等傻等,它会去忙别的事情,直到单片机接收完数据再来发送下一字节
回复

使用道具 举报

ID:1007932 发表于 2022-10-12 17:31 | 显示全部楼层
电脑有南桥,不是以CPU直接对外的。你的问题就是通信协议,这些都是协议规定的。
通常来说就是快的"等"慢的,但也不可能差距太大,所以才有南桥,CPU先把数据给南桥,南桥再给电脑外设,反过来也是,但速度快的在发送和接收时为了低速设备的要求可能还会做别的事,相当于等待时间再接收或发送。也可以说是接收方等发送方,毕竟不发送就没办法接收,就看你的理解了。
至于你说的8位,CPU一次性能处理多少位和一次处理多少位不是一个概念,况且电脑CPU不直接与单片机通信,再说,8个8位拼成64位给CPU处理完了再拆分成8个8位不行吗?不足8位其他位给0不行吗?
回复

使用道具 举报

ID:624769 发表于 2022-10-12 17:55 来自手机 | 显示全部楼层
光盘的速度那么慢,电脑是怎么读写的?  屏幕的刷新率那么低,电脑是怎么写屏的? 这些搞懂了,就没这问题了。
回复

使用道具 举报

ID:883242 发表于 2022-10-12 22:57 | 显示全部楼层
建议楼主先学一下x86汇编语言。
回复

使用道具 举报

ID:384109 发表于 2022-10-12 23:14 | 显示全部楼层
楼主需要学习一下计算机系统结构和单片机结构
回复

使用道具 举报

ID:729982 发表于 2022-10-13 08:51 | 显示全部楼层
你两个问题可以用一句话来回答,协议就是我们约定好该以什么样的方式对话。那么问题就很简单了,你十秒钟只能处理一句话的信息,我一秒钟处理一句话,那我们对话的时候,我对你说一句话,剩下9秒钟我去干别的事,然后再来和你说一句话,这样在你的视角里我就是一直在和你说话
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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