无晶振 USB 功能代码
AT32有一个非常好的无晶振USB功能。有没有一个应用笔记提供一段代码可以在原STM32的应用上面直接加载开启? 请问您讲的是 USB使用HSI 时钟,并且使用ACC功能吗? 是的。 我看到403A的库里面有相关的例程但是这个基于你们自己的库,我要把整个原来基于STM32库的工程转移过来工作量很大。我希望有一个类似于PATCH 的独立的代码来开启RCC中HSI48的使用和校准(中断处理), 可以方便的加到现有工程。 直接参考例程就可以了,一共就两个函数,初始化时选用HSI作为USB时钟,另外一个函数主程序中开启ACC 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;
}
tanmingjin 发表于 2020-7-28 10:50
如果在ST的库上可以按照如下直接添加:
#define ACC_BASE 0x40015800
#define RCC_APB2Periph_ACC ...
太谢谢了,这个就是我想要的!
对照AT403A的代码把好几个文件里面的内容放到一起来了。这里没有开启中断反正那边中断里面也没有什么处理所以不要就是了。 zhjerry 发表于 2020-7-28 12:17
太谢谢了,这个就是我想要的!
对照AT403A的代码把好几个文件里面的内容放到一起来了。这里没有开启中断 ...
HSI48作USB的代码经验证可行。 下面验证HSI48作USB长期可靠性,结果请等待报告! zhjerry 发表于 2020-7-28 14:30
HSI48作USB的代码经验证可行。 下面验证HSI48作USB长期可靠性,结果请等待报告! ...
连续通信测试跑了一天了,HSI48+ACC 作 USB 时钟没有出现问题,很可靠。 无晶振usb 好
页:
[1]