您现在的位置: 主页 > 嵌入式开发入门到精通 > 单片机技术进阶 > 单片机端USB接口数据上传程序说明 -
本文所属标签:
为本文创立个标签吧:

单片机端USB接口数据上传程序说明 -

来源: 网络用户发布,如有版权联系网管删除 2018-09-08 

[导读]
  将c8051f320单片机内的flash程序区内的数据块:通过usb接口上传到pc端。通过pc端的应用接收软件,将数据块存成hex数据文件。并存放到pc的硬盘中。一次最大的数据块存储量;是4kb.具体的例程演示和

  将c8051f320单片机内的flash程序区内的数据块:通过usb接口上传到pc端。通过pc端的应用接收软件,将数据块存成hex数据文件。并存放到pc的硬盘中。一次最大的数据块存储量;是4kb.具体的例程演示和操做,可查看320usb单片机开发板使用说明。

本文引用地址: http://www.21ic.com/app/mcu/201806/761040.htm

  1)运行上位机软件、上下位机USB接口连接好,USB初始化后。上位机软件得到下位机的状态回应(设备已准备好),此时,上位机软件对话框(SELECT)中显示1 2 3 4,表示上下位机USB接口初始化完成,握手成功。


  此时,单片机端的程序为:调用USB-API函数:USB_cLOCk_start();USB时钟初始化,内部时钟12MHz,USBq全速时钟48MHz;portl_init();i/O接口初始化;调用USB-API函数:USB_init();USB接口使能;调用USB-API函数:USB_int_enable();USB中断使能。

  2)在上位机软件进行数据块上传操作时,点击左下角对话框(RECEIVE FILE),上位机发出将单片机内数据上传的命令,通过USB口将命令设置信息下载到单片机的buffer中。此时,单片机端程序运行状态为:进入中断16的中断服务程序。

  USB_api_test_isr();指示中断原因,设置当时状态。之后,进入state_machine()函数,由于USB上下位机设备都已打开,程序进入接收主机设置信息函数RECEIVE_SETUP(),并用block_read;USB-api函数,读PC发送的命令设置,---(buffer 3),并判断buffer(0)是否=read_msg.如成立,则进入单片机数据发送到PC的准备程序。

  这段程序的功能是:a)将变量(数据块)numblock,确认;发送的数据块起始地址。数据块在在单片机flash的2000h~21fth中;b)确定变量(数据块)的最大个发送字节。c)调用block_write,USB_api函数,把上述设置信息发送到主机,即Byteswrote=block_write(byte★)&buffer;同时,将此时的状态设置为:m_state_=st_tx_file;并点亮LED2=1,发光管。

  3)程序再次进入state_machine()函数,此时状态设置为到tx._file单片机数据发送至PC模块,程序完成下面动作,a)设要写的数据长度和数据块的起始地址。b)调用USB_api功能函数block_write进行数据发送。C)检查数据是否发送完毕?发送时,led2在闪动;发送完毕,led2熄灭。




              查看评论 回复



嵌入式交流网主页 > 嵌入式开发入门到精通 > 单片机技术进阶 > 单片机端USB接口数据上传程序说明 -
 

"单片机端USB接口数据上传程序说明 -"的相关文章

网站地图

围观()