亿元彩票在线开户: [应用相关] 无晶振 USB 功能代码

永利游戏开户直营
474|8
楼主
AT32有一个非常好的无晶振USB功能。有没有一个应用笔记提供一段代码可以在原STM32的应用上面直接加载开启?
沙发
| 2020-7-27 09:49 | 只看该作者
请问您讲的是 USB使用HSI 时钟,并且使用ACC功能吗?
板凳
 楼主 | 2020-7-27 13:46 | 只看该作者
是的。 我看到403A的库里面有相关的例程但是这个基于你们自己的库,我要把整个原来基于STM32库的工程转移过来工作量很大。我希望有一个类似于PATCH 的独立的代码来开启RCC中HSI48的使用和校准(中断处理), 可以方便的加到现有工程。
地板
| 2020-7-27 23:01 | 只看该作者
直接参考例程就可以了,一共就两个函数,初始化时选用HSI作为USB时钟,另外一个函数主程序中开启ACC
5
| 2020-7-28 10:50 | 只看该作者
zhjerry 发表于 2020-7-27 13:46
是的。 我看到403A的库里面有相关的例程但是这个基于你们自己的库,亿元彩票在线开户:我要把整个原来基于STM32库的工程转移过 ...

如果在ST的库上可以按照如下直接添加:
#define ACC_BASE    0x40015800
#define RCC_APB2Periph_ACC    ((uint32_t)0x00400000)
typedef struct
{
    __IO uint32_t STS;
    __IO uint32_t CTRL1;
    __IO uint32_t CTRL2;
    __IO uint32_t C1;
    __IO uint32_t C2;
    __IO uint32_t C3;
}ACC_Type;

#define ACC    ((ACC_Type *)ACC_BASE)

void Enable_ACC(void)
{
    RCC->APB2ENR |= RCC_APB2Periph_ACC;
    ACC->C1 = 8000 - 20;
    ACC->C2 = 8000;
    ACC->C3 = 8000 + 20;
    ACC->CTRL1 |= 0x0003;
       
    /*USB 选用HSI 48MHz时钟*/
    *((uint32_t *)(0x40021000 + 0x30)) |= 0x02000000;
    *((uint32_t *)(0x40021000 + 0x54)) |= 0x00000100;
}
6
 楼主 | 2020-7-28 12:17 | 只看该作者
tanmingjin 发表于 2020-7-28 10:50
如果在ST的库上可以按照如下直接添加:
#define ACC_BASE    0x40015800
#define RCC_APB2Periph_ACC     ...

太谢谢了,这个就是我想要的!
对照AT403A的代码把好几个文件里面的内容放到一起来了。这里没有开启中断反正那边中断里面也没有什么处理所以不要就是了。
7
 楼主 | 2020-7-28 14:30 | 只看该作者
zhjerry 发表于 2020-7-28 12:17
太谢谢了,这个就是我想要的!
对照AT403A的代码把好几个文件里面的内容放到一起来了。这里没有开启中断 ...

HSI48作USB的代码经验证可行。 下面验证HSI48作USB长期可靠性,结果请等待报告!
8
 楼主 | 2020-7-29 14:25 | 只看该作者
zhjerry 发表于 2020-7-28 14:30
HSI48作USB的代码经验证可行。 下面验证HSI48作USB长期可靠性,结果请等待报告! ...

连续通信测试跑了一天了,HSI48+ACC 作 USB 时钟没有出现问题,很可靠。
9
| 2020-8-2 18:06 | 只看该作者
无晶振usb 好
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

永利游戏开户直营 快速回复 返回顶部 返回列表
永利游戏开户直营 吉祥彩票在线开户直营网 南昌鲨鱼德州扑克 申博在线百家乐网上娱乐场 幸运28人工计划
北京赛车在线开户 好彩票在线开户 好彩票手机下载 kk彩票官方 568彩票网网站
凤凰彩票现金 华人彩票平台直营网 吉祥博彩票游戏 168彩票平台 乐发彩票官方直营网
永利国际娱乐网登入 快3网手机下载 澳门银河娱乐场手机版登入 彩16官网直营网 568专业彩票代理直营网