首页
Python
Java
前端
数据库
Linux
Chatgpt专题
开发者工具箱
ch549专题
CH549/CH548学习笔记3 - UART
目录 1. UART0初始化 2. UART1/2/3初始化 3. 发送字节 4. 接收数据 CH549支持4个UART,CH458支持2个UART。 UART0 是标准 MCS51 串口,而UART1~3类似。 1. UART0初始化 UART常见的配置:8位数据,无校验位 SCON = 0x50; //8bit variable UART, pari
阅读更多...
CH549/CH548学习笔记4 - Timer
目录 1. 时钟频率选择 2. 初始化 3. 中断 CH549/CH548和标准52内核一样,拥有T0,T1和T2三个定时器。 1. 时钟频率选择 默认的情况下,时钟频率为Fsys / 12,然后通过T2MOD配置时钟频率。 最快的时钟频率是Fsys,即bTMR_CLK = 1,bTn_CLK = 1(n = 0, 1, 2)。最慢的就是默认的时钟配置。对于48M应用,最慢的
阅读更多...
CH549/CH548学习笔记2 - 系统时钟
目录 1. FOSC 2. Fsys和 Fusb4x H549的系统时钟是通过CLOCK_CFG配置的。写CLOCK_CFG前必须先进入安全模式。复位后的默认状态下,Fosc=24MHz,Fpll=96MHz,Fusb4x=48MHz,Fsys=12MHz。 1. FOSC 内部时钟或者外部时钟经过二选一后作为原始时钟 Fosc,都为24MHz。 SAFE_MOD = 0x55
阅读更多...
CH549/CH548学习笔记7 - USB Device初始化
目录 1. 中断使能位 2. USB 控制寄存器(USB_CTRL) 3. USB 设备物理端口控制寄存器(UDEV_CTRL) 4. 初始化端点0 5. 初始化其他端点 6. 初始化地址 7. 启动USB设备 8. 允许USB端口 9. 初始化中断 1. 中断使能位 在初始化前需要先关闭USB中断。 IE_USB = 0; 该位位于扩展中断使
阅读更多...
CH549/CH548学习笔记5 - SPI主模式
目录 1. 时钟频率 2. IO设置 3. SPI0_SETUP设置 4. SPI0_CTRL 5. 读写数据 CH549/CH548拥有1个硬件SPI接口,支持主/从模式,这里只讨论主模式。另外,SPI主模式只支持模式0和模式3,考虑常用性,只设置为模式0。 1. 时钟频率 CH549/CH548通过寄存器SPI0_CK_SE(默认为0x20)设置频率,最高可达系统主频的一
阅读更多...
CH549/CH548学习笔记8 - USB Device中断处理
目录 1. USB总线复位中断 1.1 复位端点 1.2 复位地址 1.3 清除中断标志 2. USB总线挂起中断 3. USB传输完成中断 USB中断编号为8,通过USB的中断标志判断中断类型,一般只需要处理3种中断。 void usbIsr() interrupt 8{if ( UIF_TRANSFER == 0)
阅读更多...
CH549/CH548学习笔记1 - 硬件设计
目录 1. Type C接口设计 2. 电源电路 3. 烧录 1. Type C接口设计 由于CH549G不支持USB3.0,所以只需要使用12pin的Type-C接口。对于CH549G的PD功能,实在没看懂,例程也是调用了库,似乎是软件方式实现CC通信的,本来想试试Sink模式将VBUS调节到高于5V看看效果,硬件上保留,有空的话看看软件有没有办法实现。 VBUS是电压检
阅读更多...