查看: 2915|回复: 9

[求助] 关于kl27手册内容的疑问

[复制链接]

该用户从未签到

8

主题

23

帖子

0

注册会员

Rank: 2

积分
142
最后登录
2016-4-27
发表于 2016-4-20 21:04:31 | 显示全部楼层 |阅读模式
本帖最后由 13656693146 于 2016-4-20 21:10 编辑

现在用usb cdc模式,按照以下内容,是否可以l理解为:当处于vlps模式后usb cdc还可以一直与上位机的串口软件相连(相连但不能收发数据),唤醒等到run模式后,又能正常收发数据(中间串口没有断掉,无需重新开关串口软件)?



我知道答案 目前已有9人回答
TT截图未命名.jpg
回复

使用道具 举报

该用户从未签到

8

主题

23

帖子

0

注册会员

Rank: 2

积分
142
最后登录
2016-4-27
 楼主| 发表于 2016-4-21 09:56:42 | 显示全部楼层
自己顶下
回复

使用道具 举报

该用户从未签到

712

主题

6371

帖子

0

超级版主

Rank: 8Rank: 8

积分
24874
最后登录
2025-7-18
发表于 2016-4-21 10:33:45 | 显示全部楼层
楼主你好!
你的理解是正确的!
唤醒后可以继续传送数据。
回复 支持 反对

使用道具 举报

该用户从未签到

8

主题

23

帖子

0

注册会员

Rank: 2

积分
142
最后登录
2016-4-27
 楼主| 发表于 2016-4-21 11:41:59 | 显示全部楼层
小恩GG 发表于 2016-4-21 10:33
楼主你好!
你的理解是正确的!
唤醒后可以继续传送数据。

在这过程中串口软件不会出现错误吗
回复 支持 反对

使用道具 举报

该用户从未签到

712

主题

6371

帖子

0

超级版主

Rank: 8Rank: 8

积分
24874
最后登录
2025-7-18
发表于 2016-4-21 14:37:47 | 显示全部楼层
13656693146 发表于 2016-4-21 11:41
在这过程中串口软件不会出现错误吗

在低功耗的时候,串口号应该还能识别,不过如果发送数据可能就不会相应,要等到唤醒了。
至于串口软件是否会报错,这个没有试过,应该也不会报错,最多就是下位机不会真正接到数据。
回复 支持 反对

使用道具 举报

该用户从未签到

8

主题

23

帖子

0

注册会员

Rank: 2

积分
142
最后登录
2016-4-27
 楼主| 发表于 2016-4-21 16:58:37 | 显示全部楼层
小恩GG 发表于 2016-4-21 14:37
在低功耗的时候,串口号应该还能识别,不过如果发送数据可能就不会相应,要等到唤醒了。
至于串口软件是 ...

如果只能识别,唤醒后不能收发数据,那就没什么意义了。
回复 支持 反对

使用道具 举报

该用户从未签到

8

主题

23

帖子

0

注册会员

Rank: 2

积分
142
最后登录
2016-4-27
 楼主| 发表于 2016-4-21 17:01:04 | 显示全部楼层
小恩GG 发表于 2016-4-21 14:37
在低功耗的时候,串口号应该还能识别,不过如果发送数据可能就不会相应,要等到唤醒了。
至于串口软件是 ...

我用HID做实验,发现第一次唤醒后数据能发送,发送完成后再次进入vlps,唤醒后,无法发送数据了,为什么?
回复 支持 反对

使用道具 举报

该用户从未签到

712

主题

6371

帖子

0

超级版主

Rank: 8Rank: 8

积分
24874
最后登录
2025-7-18
发表于 2016-4-22 10:03:21 | 显示全部楼层
13656693146 发表于 2016-4-21 16:58
如果只能识别,唤醒后不能收发数据,那就没什么意义了。

唤醒后,肯定是能收发数据的。
那么,你有没有测试下功耗,看看第二次是否真的唤醒了。
回复 支持 反对

使用道具 举报

该用户从未签到

8

主题

23

帖子

0

注册会员

Rank: 2

积分
142
最后登录
2016-4-27
 楼主| 发表于 2016-4-22 11:14:06 | 显示全部楼层
小恩GG 发表于 2016-4-22 10:03
唤醒后,肯定是能收发数据的。
那么,你有没有测试下功耗,看看第二次是否真的唤醒了。 ...

用miniKL27(10-USB_HID)中代码修改,后第一次能正常唤醒,鼠标移动,第二次按K2按键后程序死在usbd_hid_get_report_trigger(0, (U8 *)report, 4);语句中。

int main(void)
{
    S8 report[4];
    S8 i;
    DelayInit();
    GPIO_QuickInit(HW_GPIOC, 3, kGPIO_Mode_OPP);
    LPUART_QuickInit(LPUART0_RX_D06_TX_D07, 115200);
    LPUART_ITDMAConfig(HW_LPUART0, kUART_IT_Rx, true);
    printf("9-USB demo\r\n");
       
       
                  /* allow VLPS mode */
    SMC->PMPROT |= SMC_PMPROT_AVLP(1);
    /* set VLPS mode */
    SMC->PMCTRL &= ~SMC_PMCTRL_STOPM_MASK;
    SMC->PMCTRL |= SMC_PMCTRL_STOPM(2);
          DelayMs(10);
    /* enter STOP */
    EnterSTOPMode(false);
    printf("wake up from VLPS mode\r\n");

    cmd_usb(0, NULL);
   
    while(1)
    {
                       
                       
                        for(i=0;i<100;i++){
        GetMouseInReport(report, 4);
        usbd_hid_get_report_trigger(0, (U8 *)report, 4);
        DelayMs(10);
        GPIO_ToggleBit(HW_GPIOC, 3);
                        }
                       
                          EnterSTOPMode(false);
       printf("wake up from VLPS mode\r\n");
                       
                       
                       
                       
    }
}
回复 支持 反对

使用道具 举报

该用户从未签到

8

主题

23

帖子

0

注册会员

Rank: 2

积分
142
最后登录
2016-4-27
 楼主| 发表于 2016-4-22 11:30:21 | 显示全部楼层
测试过,如果把USB代码注释掉,可以多次唤醒。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-20 04:36 , Processed in 0.115429 second(s), 31 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表