打印
[PIC32/SAM]

ATSAMD51 EVK评估板评测5USB实验

[复制链接]
1071|24
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 比神乐 于 2022-12-4 11:40 编辑

今天捣鼓了一下USB实验:
代码:
#include <stddef.h>                     // Defines NULL
#include <stdbool.h>                    // Defines true
#include <stdlib.h>                     // Defines EXIT_FAILURE
#include "definitions.h"                // SYS function prototypes


// *****************************************************************************
// *****************************************************************************
// Section: Main Entry Point
// *****************************************************************************
// *****************************************************************************

int main ( void )
{
    /* Initialize all modules */
    SYS_Initialize ( NULL );

    while ( true )
    {
        /* Maintain state machines of all polled MPLAB Harmony modules. */
        SYS_Tasks ( );
    }

    /* Execution should not come here during normal operation */

    return ( EXIT_FAILURE );
}


/*******************************************************************************
End of File
*/

APP.C
/*******************************************************************************
  MPLAB Harmony Application Source File

  Company:
    Microchip Technology Inc.

  File Name:
    app.c

  Summary:
    This file contains the source code for the MPLAB Harmony application.

  Description:
    This file contains the source code for the MPLAB Harmony application.  It
    implements the logic of the application's state machine and it may call
    API routines of other MPLAB Harmony modules in the system, such as drivers,
    system services, and middleware.  However, it does not call any of the
    system interfaces (such as the "Initialize" and "Tasks" functions) of any of
    the modules in the system or make any assumptions about when those functions
    are called.  That is the responsibility of the configuration-specific system
    files.
*******************************************************************************/

/*******************************************************************************
* Copyright (C) 2020 Microchip Technology Inc. and its subsidiaries.
*
* Subject to your compliance with these terms, you may use Microchip software
* and any derivatives exclusively with Microchip products. It is your
* responsibility to comply with third party license terms applicable to your
* use of third party software (including open source software) that may
* accompany Microchip software.
*
* THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
* EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY IMPLIED
* WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A
* PARTICULAR PURPOSE.
*
* IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
* INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
* WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS
* BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE
* FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN
* ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
* THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
*******************************************************************************/

// *****************************************************************************
// *****************************************************************************
// Section: Included Files
// *****************************************************************************
// *****************************************************************************

#include "app.h"
#include "definitions.h"

// *****************************************************************************
// *****************************************************************************
// Section: Global Data Definitions
// *****************************************************************************
// *****************************************************************************

// *****************************************************************************
/* Application Data

  Summary:
    Holds application data

  Description:
    This structure holds the application's data.

  Remarks:
    This structure should be initialized by the APP_Initialize function.

    Application strings and buffers are be defined outside this structure.
*/

APP_DATA appData;

// *****************************************************************************
// *****************************************************************************
// Section: Application Callback Functions
// *****************************************************************************
// *****************************************************************************

/* TODO:  Add any necessary callback functions.
*/

// *****************************************************************************
// *****************************************************************************
// Section: Application Local Functions
// *****************************************************************************
// *****************************************************************************

#define BTL_TRIGGER_PATTERN (0x5048434DUL)

static uint32_t *ramStart = (uint32_t *)BTL_TRIGGER_RAM_START;

bool bootloader_Trigger(void)
{
    uint32_t i;

    // Cheap delay. This should give at leat 1 ms delay.
    for (i = 0; i < 2000; i++)
    {
        asm("nop");
    }

    /* Check for Bootloader Trigger Pattern in first 16 Bytes of RAM to enter
     * Bootloader.
     */
    if (BTL_TRIGGER_PATTERN == ramStart[0] && BTL_TRIGGER_PATTERN == ramStart[1] &&
        BTL_TRIGGER_PATTERN == ramStart[2] && BTL_TRIGGER_PATTERN == ramStart[3])
    {
        ramStart[0] = 0;

        DCACHE_CLEAN_BY_ADDR(ramStart, 4);

        return true;
    }

    /* Check for Switch press to enter Bootloader */
    if (SWITCH_GET() == SWITCH_PRESSED)
    {
        return true;
    }

    return false;
}


// *****************************************************************************
// *****************************************************************************
// Section: Application Initialization and State Machine Functions
// *****************************************************************************
// *****************************************************************************

/*******************************************************************************
  Function:
    void APP_Initialize ( void )

  Remarks:
    See prototype in app.h.
*/

void APP_Initialize ( void )
{
    /* Place the App state machine in its initial state. */
    appData.state = APP_STATE_INIT;

}


/******************************************************************************
  Function:
    void APP_Tasks ( void )

  Remarks:
    See prototype in app.h.
*/

void APP_Tasks ( void )
{

    /* Check the application's current state. */
    switch ( appData.state )
    {
        /* Application's initial state. */
        case APP_STATE_INIT:
        {
            LED_ON();
            break;
        }

        /* The default state should never be executed. */
        default:
        {
            /* TODO: Handle error in application's state machine. */
            break;
        }
    }
}


/*******************************************************************************
End of File
*/
下载了一个USB BUS HOUND
安装以后打开
不接板子显示:

接上板子显示

选择USB MASS Storage Device
点击send commands命令按钮

点击运行按钮:

选择第三项 5  Bulk in,点击运行按钮


7.jpg (349.43 KB )

7.jpg

使用特权

评论回复
沙发
wangjiahao88| | 2022-12-4 12:17 | 只看该作者
这种开发板 官方会搞活动领取吗?

SAME SAMD系列的

使用特权

评论回复
板凳
比神乐|  楼主 | 2022-12-5 09:25 | 只看该作者
wangjiahao88 发表于 2022-12-4 12:17
这种开发板 官方会搞活动领取吗?

SAME SAMD系列的

好像可以

使用特权

评论回复
地板
tpgf| | 2023-1-3 12:10 | 只看该作者
做usb试验的时候还需要安装相关底层的驱动吗

使用特权

评论回复
5
比神乐|  楼主 | 2023-1-3 12:12 | 只看该作者
tpgf 发表于 2023-1-3 12:10
做usb试验的时候还需要安装相关底层的驱动吗

要下载一些文件包吧

使用特权

评论回复
6
qcliu| | 2023-1-3 12:51 | 只看该作者
如果电脑一直不能识别usb设备 那么一般来说是时序有问题是吗

使用特权

评论回复
7
drer| | 2023-1-3 13:36 | 只看该作者
如何设置才能保证usb设备支持热拔插呢

使用特权

评论回复
8
coshi| | 2023-1-3 13:42 | 只看该作者
wangjiahao88 发表于 2022-12-4 12:17
这种开发板 官方会搞活动领取吗?

SAME SAMD系列的

这种开发板说不好 但是官方经常性的会有一些申请活动

使用特权

评论回复
9
kxsi| | 2023-1-3 13:52 | 只看该作者
在什么情况下会导致就是一接上usb就让格式化呢

使用特权

评论回复
10
wiba| | 2023-1-3 14:09 | 只看该作者
带usb的功能的现成的开发板不知道会不会缩短上手时间

使用特权

评论回复
11
比神乐|  楼主 | 2023-1-3 15:01 | 只看该作者
qcliu 发表于 2023-1-3 12:51
如果电脑一直不能识别usb设备 那么一般来说是时序有问题是吗

不好说,我搞USB也是二把刀

使用特权

评论回复
12
比神乐|  楼主 | 2023-1-3 15:02 | 只看该作者
drer 发表于 2023-1-3 13:36
如何设置才能保证usb设备支持热拔插呢

不清楚,一般都支持热插拔吧

使用特权

评论回复
13
geraldbetty| | 2023-1-5 14:06 | 只看该作者
这个usb可以实现的功能就比较多了。

使用特权

评论回复
14
zerorobert| | 2023-1-5 16:37 | 只看该作者
现在对usb的开发还没有入门,需要学习一下的。

使用特权

评论回复
15
比神乐|  楼主 | 2023-1-6 11:45 | 只看该作者
kxsi 发表于 2023-1-3 13:52
在什么情况下会导致就是一接上usb就让格式化呢

不清楚,程序有问题吧

使用特权

评论回复
16
jackcat| | 2023-1-6 20:53 | 只看该作者
ATSAMD51有几个端点可以识别?

使用特权

评论回复
17
比神乐|  楼主 | 2023-1-7 10:54 | 只看该作者
jackcat 发表于 2023-1-6 20:53
ATSAMD51有几个端点可以识别?

不清楚

使用特权

评论回复
18
mollylawrence| | 2023-1-9 14:21 | 只看该作者
需要开发电脑的驱动程序的吗?              

使用特权

评论回复
19
比神乐|  楼主 | 2023-1-9 14:54 | 只看该作者
mollylawrence 发表于 2023-1-9 14:21
需要开发电脑的驱动程序的吗?

不需要

使用特权

评论回复
20
cashrwood| | 2023-1-11 22:37 | 只看该作者
官网提供的usb代码吗?
              

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

435

主题

3407

帖子

7

粉丝