• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >嵌入式开发 > stm32f103zet6编译环境mdk517usb部分函数库函数求解释!头文件:rl_usbh

stm32f103zet6编译环境mdk517usb部分函数库函数求解释!头文件:rl_usbh

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-05

佚名通过本文主要向大家介绍了stm32f103zet6编译环境mdk517usb部分函数库函数求解释!头文件:rl_usbh等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: stm32f103zet6 编译环境mdk517 usb部分函数库函数求解释!头文件:rl_usbh
描述:

stm32usb开发st官方例程keil5mdk5

大家有谁用过keil提供的kit来开发usb吗?这两天一直在研究,发现网上现在非常多的例程都是说的是从usb的整体框架开始编写,非常细节的比如usb的基础配置,io配置,枚举过程细节等等,还有中断函数都是要自己编写,然而st官方在mdk517版本中已经添加了相关的usb框架,并且提供了例程,其中一个例程的main函数如下:
/*------------------------------------------------------------------------------
 * MDK Middleware - Component ::USB:Device
 * Copyright (c) 2004-2014 ARM Germany GmbH. All rights reserved.
 *------------------------------------------------------------------------------
 * Name:    HID.c
 * Purpose: USB Device Human Interface Device example program
 *----------------------------------------------------------------------------*/
#include "cmsis_os.h"
#include "rl_usb.h"
#include "Board_LED.h"
#include "Board_Joystick.h"
#include "Board_GLCD.h"
#include "GLCD_Config.h"
extern GLCD_FONT GLCD_Font_6x8;
extern GLCD_FONT GLCD_Font_16x24;
int main (void) {
  uint8_t but;
  uint8_t buf[1];
  LED_Initialize     ();
  Joystick_Initialize();
  GLCD_Initialize         ();
  GLCD_SetBackgroundColor (GLCD_COLOR_BLUE);
  GLCD_SetForegroundColor (GLCD_COLOR_WHITE);
  GLCD_ClearScreen        ();
  GLCD_SetFont            (&GLCD_Font_16x24);
  GLCD_DrawString         (0, 0*24, "    USB Device      ");
  GLCD_DrawString         (0, 1*24, "    HID Class       ");
  GLCD_DrawString         (0, 2*24, "    HID Example     ");
  GLCD_DrawString         (0, 4*24, "USBFS: HID0         ");
  GLCD_DrawString         (0, 8*24, "  Keil Tools by ARM ");
  GLCD_DrawString         (0, 9*24, "    www.keil.com    ");
  USBD_Initialize    (0);               /* USB Device 0 Initialization        */
  USBD_Connect       (0);               /* USB Device 0 Connect               */
  while (1) {                           /* Loop forever                       */
    but = (uint8_t)(Joystick_GetState ());
    if (but ^ buf[0]) {
      buf[0] = but;
      USBD_HID_GetReportTrigger(0, 0, &buf[0], 1);
    }
    osDelay(100);                       /* 100 ms delay for sampling buttons  */
  }
}
观察发现rl_usb.h是一个st提供给用户的api文件,其中文件中的说明如下:
/*------------------------------------------------------------------------------
 * MDK Middleware - Component ::USB
 * Copyright (c) 2004-2015 ARM Germany GmbH. All rights reserved.
 *------------------------------------------------------------------------------
 * Name:    rl_usb.h
 * Purpose: USB User API
 * Rev.:    V6.6.1
 *----------------------------------------------------------------------------*/
那么也就是说,st官方已经开发了一套便于用户开发usb程序的api函数,其中观察到:
//  ==== USB Device Functions ====
/// \brief Initialize USB Device stack and controller
/// \param[in]     device               index of USB Device.
/// \return                             status code that indicates the execution status of the function as defined with \ref usbStatus.
extern usbStatus USBD_Initialize (uint8_t device);
/// \brief De-initialize USB Device stack and controller
/// \param[in]     device               index of USB Device.
/// \return                             status code that indicates the execution status of the function as defined with \ref usbStatus.
extern usbStatus USBD_Uninitialize (uint8_t device);
/// \brief Activate pull-up on D+ or D- line to signal USB Device connection on USB Bus
/// \param[in]     device               index of USB Device.
/// \return                             status code that indicates the execution status of the function as defined with \ref usbStatus.
extern usbStatus USBD_Connect (uint8_t device);
/// \brief Disconnect USB Device from USB Bus
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2017-06-05 uboot如何设置参数,引导进入recovery
  • 2017-06-05 一年打印机驱动能卖多少钱?
  • 2017-06-05 初学者的两个问题(谢谢各位回答)
  • 2017-06-05 请教关于PDACompactFlash接口驱动的问题
  • 2017-06-05 SDRAM数据线,地址线,分别交差可以吗
  • 2017-06-05 为什么我定义的变量被优化掉了?
  • 2017-06-05 单片机问题,求大虾来看看
  • 2017-06-05 golang如何限制内存
  • 2017-06-05 一个DDK初学者的困惑
  • 2017-06-05 lua中userdata和gc的使用?

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 怎样把驱动程序做成安装盘?
    • stm32有必要上ucosIII吗?
    • wince串口编程编译的问题,刚接触这方面,请大神帮忙解答,特别着急,谢谢
    • Thumb指令集
    • 请问嵌入式技术的发展方向是什么?其技术难点是什么?
    • 求助:arm-elf-ld链接问题???
    • 请教各位大侠!
    • win7下wince7的调试问题。
    • 《uc/os-II》(中国电力出版社)的书,所附软盘丢了,谁有可以给我吗?
    • 8051控制數碼管問題

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有