返回该小组首页 回复主题
computer00

computer00

小组等级:     E币:7882  (E币换礼)

#1楼主:EDN USB学习板之实战第四个USB程序: USB MIDI键盘 [精华]

文章发表于:2007-12-15 04:17

EDN USB学习板上共有8个键K1-K8,分别对应5,6,1,2,3,5,6,1。
接入电脑后,在设备管理器的“声音、视频和游戏控制器”下面应该会
出现一个USB Audio Device。

然后打开HappyEO电子琴(或者其它类似能够接收MIDI输入的软件),点
击HappyEO面板上的Option按钮,在弹出的对话框中,单击MIDI输入标签,
然后将“用MIDI输入设备”勾上,在下面的“使用下列MIDI输入设备:”
列表框中选中“USB Audio Device”,然后单击确定。这时再按EDN USB
板上的按键,电脑应该能发声。如果不能发声,检查音量是否打开。双击
任务栏右下角的小喇叭,里边有个“MIDI Synth”,这个是控制MIDI合成
音量的。最左边那个总音量。然后再通过串口调试助手给EDN USB学习板发
送一个字符1,注意是字符1,而不是HEX值为1,这时EDN USB就会自动弹奏
EDN USB学习板内置的一首曲子。按EDN USB学习板上8个键中的任意键,可
停止自动弹奏。在HappyEO面板的右半部分可以选择不同的乐器,右击一个
数字,在弹出的框中可以选择具体的乐器。由于89S52容量有限,所以只放
了一个测试的歌在里面,大家可以根据我的格式,自己放自己喜欢的歌进去^_^。

keil C源代码包下载:rar

自动弹奏时的录音(三个压缩包,分别改为1.rar,2.rar,3.rar后解压缩):

1.rar   rar

2.rar  rar

3.rar rar

下载地址二:http://computer00.21ic.org/uploadfile-/2007-12/1215456159.rar

推荐一个电子琴小软件(三个压缩包,分别改为1.rar,2.rar,3.rar后解压缩):

1.rar rar

2.rar rar

3.rar rar

下载地址二:http://computer00.21ic.org/uploadfile-/2007-12/1215291213.rar

另外给大家推荐一个比较好用串口调试助手:

焊接说明:http://group.ednchina.com/93/7005.aspx

原理图下载:http://group.ednchina.com/93/6683.aspx

下载STC MCU软件用的ISP软件:http://www.mcu-memory.com/datasheet/stc/stc-isp-v3.5-setup/stc-isp-v3.5-not-setup.exe

      【回复】

qthjc

   小组等级:    E币:155  (E币换礼)

#2

文章发表于:2007-12-16 10:15

    先收藏了啊,以后在漫漫学习消化

cjackson

   小组等级:    E币:79  (E币换礼)

#3

文章发表于:2007-12-16 15:51

  刚刚调试完这个例子,乐曲很优美,多谢圈圈的辛勤劳作!

这里有3个小问题想请教:

1.有个问题,给出的USB键盘,鼠标以及这个MIDI键盘的例子,都没有电脑右下方的“安全删除**”的标志,一般的U盘或是USB设备好像都有,像鼠标,键盘好像没有,这个是什么原因呢?是不是可以设定?

2.另外是不是下载完STC单片机后,必须按下复位按键,USB程序才能正确运行呢?按道理应该不用复位也行,但是在执行MIDI程序的时候,我发现有时得复位才能正确运行。

3.D12芯片本身不需要什么驱动文件就可以运行吧?

谢谢!

computer00

   小组等级:    E币:7882  (E币换礼)

#4

文章发表于:2007-12-16 16:50

1.  因为这些设备直接拔下来并不会导致什么损坏,而像U盘之类的存储器,则不能随便拔下来,因为如果操作系统正在往U盘里面写数据的话,你直接拔下来,数据就不能写进去了,会造成文件丢失。更严重的是,如果系统这时正在更新FAT表或者目录,刚好更新了一部分,就被你拔了下来,就可能会导致里面的部分或者所有文件损坏,这可是很严重的问题。所以U盘这样的东西需要先在软件上弹出,才能拔下来。而鼠标键盘这些则没有必要。

2.   最好按一下复位吧,这个我没仔细研究过。也可能跟USB的枚举以及上位机的驱动有关。不行就复位一下。

3.  是的,D12是一个通用的接口芯片,需要什么驱动程序,由你的下位机固件所枚举的设备类型来决定。

cjackson

   小组等级:    E币:79  (E币换礼)

#5

文章发表于:2007-12-16 17:40

     谢谢圈圈的回答,那如果开发出一个U盘之类的存储器,就有必要给出"安全删除**"的操作,这个操作是我们通过编程实现的?还是说系统会根据下位机固件所枚举的设备类型来自动实现?

      就比如我们写的这个鼠标,键盘还有midi的实例,能否实现这种 “安全删除**”的操作?

    再次感谢圈圈!

   

computer00

   小组等级:    E币:7882  (E币换礼)

#6

文章发表于:2007-12-16 19:09

这个是由驱动程序负责的,操作系统会负责管理。你枚举成U盘,它就会出现那个拔下的提示。

如果鼠标键盘你也想先停止再拔下,可以去设备管理器里面,将它停用掉或者卸载掉。

总共 , 当前 /

快速回复主题--如果想加入编辑器功能,建议使用 [高级回复]

您目前还不是小组成员,请先加入

回复贴子区

用户名:    您没有注册?

密码:    忘记了密码?

内容:

浏览该小组的用户还看过...

设计资源与分销

";