weixin_44143610 2021-01-24 21:33 采纳率: 0%
浏览 28

单片机发送MIDI数据的问题

硬件: 电脑——USBMIDI转接线——MIDI光耦隔离电路——单片机。 (STC8G1K08A)  

MIDI-OX调试工具。

单片机发送方式: 

    SCON=0x50;    //8位数据,可变波特率
    AUXR|=0x40;    //定时器1时钟为Fosc,即1T
    AUXR&=0xFE;    //串口1选择定时器1为波特率发生器
    TMOD&=0x0F;    //设定定时器1为16位自动重装方式

 

主频12M,波特率31250(31.25K),示波器查看单片机发出的信号,和电脑通过USBMIDI线输出的信号,几乎一致。无论是频率(波特率)还是数据

 

问题是: 发送90,3C,64这种标准MIDI格式的数据,转接线的接受灯不亮,midiox接收不到数据。

  如果每次发送较多数据,就可以接收到——但接受到的是乱码。

 

我绕过单片机,使用MIDIOX发出Midi信号,同时电路上将输入输出接到一起,也是一样的问题。如下图; 

 

一个和弦,相当于连续发送三个音符开,直接回环,输入端显示接收到这么个指令(F9)

然后松开按键,三个音符关,又出现另外的一个命令。

而且这个接受到的指令还不稳定,有时候会变成其他的字符。

所以不知道是啥问题,是这个转接线芯片的问题还是输入端需要什么其他的代码?谢谢。

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-07 17:45
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^
    评论

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置