博客摘录「 YTM32的电源管理与低功耗系统详解」2024年1月26日

功耗管理架构的理解,常规的MCU低功耗模式分浅睡和深睡,浅睡可以用常规中断唤醒,从哪里睡着就可以从哪里醒来;深睡需要专门的唤醒模块(例如Kinetis的LLWU模块),醒来之后效果同硬件复位效果等同,入睡之前的记忆全无,整个断片了。

YTM32B1ME05G0MLLT是一款Microchip Technology公司的微控制器,它通常用于嵌入式系统中,包括串口通信。为了初始化该芯片的串口(通常是USART),你需要遵循一定的步骤: 1. **配置硬件**: 确保串口连接到适当的GPIO引脚,并且相应的电源和地线已经正确连接。 2. **设置寄存器**: 首先,需要进入串口控制模块的寄存器空间。例如,在Microchip的plib库中,可能涉及到USACON、UBRRH和UBRRL等控制寄存器的设置: - USACON: 设置波特率、数据位数(如8位)、停止位(可能是1或2位)以及奇偶校验模式。 - UBRH/UBRRL: 根据USACON配置计算正确的波特率值。 3. **启用中断**: 如果需要,设置串口接收和发送中断,并配置中断向量和中断优先级。 4. **清除状态标志**: 清除串口的空闲、溢出或其他错误标志,以准备接受新的数据。 5. **开启串口**: 写入特定命令字来激活串口功能,比如打开串口允许接收和发送数据。 6. **设置工作模式**: 可能需要设置成半双工、全双工模式,取决于应用需求。 7. **配置中断处理函数**: 编写并设置中断服务程序(ISR),以便在接收到数据或者发生错误时响应。 **示例代码**(假设使用C语言)可能会如下所示: ```c #include <plib.h> void init_USART(void) { // ...其他初始化代码... TRISBbits.TRISB2 = 0; // 设置PB2为TX TRISBbits.TRISB3 = 1; // 设置PB3为RX // 配置波特率 UBRRH = (F_CPU / (8 * baud_rate) >> 8); UBRRL = (F_CPU / (8 * baud_rate)) & 0xFF; // 开启USART,启用接收和发送 UCSRnB.CREN = 1; UCSRB &= ~(UCSBB1_bm | UCSBB0_bm); // 清除溢出和未发完标志 } // 中断服务函数 ISR(USART_vect) { // 处理接收到的数据或错误 } // 初始化时调用 int main() { init_USART(); sei(); // 启动全局中断 while (1) { // 主循环 } } ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值