找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2196|回复: 4
收起左侧

求帮看协议时序图

[复制链接]
ID:208180 发表于 2018-3-31 09:34 | 显示全部楼层 |阅读模式
20黑币
本帖最后由 etxuxu 于 2018-3-31 09:52 编辑

这个是一个一线串口通信的芯片,在网上淘回来的。可以通过输入指令控制TF卡内的音频播放。
我的基础实在不好,想让哪位大神帮我看看这个协议时序到底是什么意思应该如何编写以及触发。。谢谢了
5捕获.JPG
4捕获.JPG
2.png
1.png
3捕获.JPG

单线串口(One_line)模式应用手册.pdf

260.25 KB, 下载次数: 4

最佳答案

查看完整内容

那想请问一下。data&0x80的意思是?且for(i=0; i=1; } 注意 dat&0x80 dat=1 一个完整的单字节发送 就是在senddta()的开头 再加上2ms的低电平 如果我希望用单片机播放曲目00001的话。应该怎么去触发? 一旦你掌握了一个完整的单字节发送,后边无非就是一串有命令或者命令+数据,一串无非就是单字节发送的多次调用而已
回复

使用道具 举报

ID:287575 发表于 2018-3-31 09:34 | 显示全部楼层
那想请问一下。data&0x80的意思是?且for(i=0; i<8; i++)是?
data&0x080,其实就是判断,data的最高为是1还0,是循环8次,把一个字节的8位发完
我是举例从高位发起的,
如从低位发起
  for(i=0; i<8; i++)
  {
    if(data&0x01) {sendone();}
   else {sendzero();}
  dat>>=1;
  }

注意 dat&0x80  dat<<=1  dat&0x01  dat>>=1
一个完整的单字节发送 就是在senddta()的开头 再加上2ms的低电平

如果我希望用单片机播放曲目00001的话。应该怎么去触发?
一旦你掌握了一个完整的单字节发送,后边无非就是一串有命令或者命令+数据,一串无非就是单字节发送的多次调用而已
回复

使用道具 举报

ID:287575 发表于 2018-3-31 10:54 | 显示全部楼层
类似串口,你首先了解串口 ,只不过串口的1和0是1位宽的高和低,而这个的1用一位宽的3/4高和1/4的低组成,0用一位宽的1/4高和3/4的低组成
程序类似这样的
senddata(unsigned char dat)
{
  for(i=0; i<8; i++)
  {
    if(data&0x80) {sendone();}
   else {sendzero();}
  dat<<=1;
  }
}

sendone()
{
   tx=1; delay(3);
   tx=0;delay(1);
}

sendzero()
{
   tx=1; delay(1);
   tx=0;delay(3);
}

tx是你的数据发送端,delay函数自己编写,大体如此

评分

参与人数 1黑币 +60 收起 理由
admin + 60 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:208180 发表于 2018-3-31 13:50 | 显示全部楼层
zhangxiaozi 发表于 2018-3-31 10:54
类似串口,你首先了解串口 ,只不过串口的1和0是1位宽的高和低,而这个的1用一位宽的3/4高和1/4的低组成,0 ...

谢谢回复!!
那想请问一下。data&0x80的意思是?且for(i=0; i<8; i++)是?

如果我希望用单片机播放曲目00001的话。应该怎么去触发?

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:295783 发表于 2018-4-1 17:42 | 显示全部楼层
可不可以把程序给我看看
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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