当前位置: 首页 > news >正文

竹子建站官网小程序开发平台哪家质量好

竹子建站官网,小程序开发平台哪家质量好,做运营需要知道素材网站,网站优化建议怎么写一、UART1 串口通信UART(Universal Asynchronous Receiver/Transmitter)是最常用的异步串行通信接口之一,在嵌入式调试和外设通信中应用广泛。功能说明数据收发:通过 TXD(发送)、RXD(接收&#…

一、UART1 串口通信

UART(Universal Asynchronous Receiver/Transmitter)是最常用的异步串行通信接口之一,在嵌入式调试和外设通信中应用广泛。

功能说明

数据收发:通过 TXD(发送)、RXD(接收)完成数据通信。

波特率配置:通过 UBIR/UBMR/UFCR 控制。

状态检测:通过状态寄存器 USR2 判断发送是否完成。

初始化流程

  1. 配置 引脚复用(IOMUXC,将 GPIO 配置为 UART 功能)。

  2. 设置 引脚电气特性(如上拉、驱动能力)。

  3. 关闭 UART,清零控制寄存器。

  4. 配置收发功能,使能 TX 和 RX。

  5. 设置波特率分频参数。

  6. 使能 UART。

关键代码

void init_uart1(void)
{// 1. 引脚复用与配置IOMUXC_SetPinMux(IOMUXC_UART1_TX_DATA_UART1_TX, 0);IOMUXC_SetPinMux(IOMUXC_UART1_RX_DATA_UART1_RX, 0);IOMUXC_SetPinConfig(IOMUXC_UART1_TX_DATA_UART1_TX, 0x10B0);IOMUXC_SetPinConfig(IOMUXC_UART1_RX_DATA_UART1_RX, 0x10B0);// 2. 初始化控制寄存器UART1->UCR1 = 0;UART1->UCR2 = 0;UART1->UCR2 |= (1 << 14) | (1 << 5) | (1 << 2) | (1 << 1);UART1->UCR3 |= (1 << 2);// 3. 设置 FIFO 分频和波特率UART1->UFCR = (5 << 7);UART1->UBIR = 999;UART1->UBMR = 43402;// 4. 启动 UARTUART1->UCR1 |= (1 << 0);
}

发送函数

void putc(unsigned char ch)
{// 等待发送 FIFO 空while((UART1->USR2 & (1 << 3)) == 0);UART1->UTXD = ch;
}

二、EPIT1 定时器(带中断)

EPIT(Enhanced Periodic Interrupt Timer)是增强型周期定时器,常用于周期性任务,例如 LED 闪烁、系统心跳信号等。

功能说明

周期定时:通过 LR(装载寄存器)设定定时周期。

中断机制:溢出或比较匹配时触发中断。

应用场景:任务调度、周期采样、硬件定时。

初始化流程

  1. 清零控制寄存器 CR

  2. 配置时钟源、分频器、工作模式。

  3. 装载计数初值 LR

  4. 设置比较寄存器 CMPR

  5. 注册中断处理函数,并使能 GIC 中断控制器。

  6. 启动 EPIT 定时器。

关键代码

void epit1_interrupt_handler(void)
{if((EPIT1->SR & (1 << 0)) != 0)  // 检查比较事件{led_non();                   // 翻转 LEDEPIT1->SR = (1 << 0);        // 清除中断标志}
}void init_epit1(void)
{EPIT1->CR = 0;EPIT1->CR |= (1 << 24) | (1 << 17) | (65 << 4) | (1 << 3) | (1 << 2) | (1 << 1);EPIT1->LR = 1000000; // 定时周期EPIT1->CMPR = 0;EPIT1->CNR = 0;// 注册中断system_interrupt_register(EPIT1_IRQn, epit1_interrupt_handler);GIC_EnableIRQ(EPIT1_IRQn);// 启动 EPITEPIT1->CR |= (1 << 0);
}

三、GPT1 通用定时器

GPT(General Purpose Timer)是通用定时器,可用于计时、延时、PWM 输出等场景。相比 EPIT,GPT 更灵活但也稍复杂。

功能说明

计数模式:递增计数,支持 32 位宽度。

时钟选择:可以选择不同的时钟源(如 ipg_clk)。

预分频器:通过 PR 设置。

应用场景:定时测量、延时函数、软件定时器。

初始化流程

  1. 关闭 GPT1,清零控制寄存器。

  2. 复位 GPT1,并等待复位完成。

  3. 配置工作模式(时钟源、重载方式)。

  4. 设置预分频器。

  5. 启动 GPT1。

关键代码

void init_gpt1(void)
{GPT1->CR = 0;              // 关闭 GPT1GPT1->CR |= (1 << 15);     // 复位while((GPT1->CR & (1 << 15)) != 0);GPT1->CR |= (1 << 9) | (1 << 6); // ENMOD=1, 时钟源=ipg_clkGPT1->PR = 65;                   // 预分频器GPT1->CR |= (1 << 0);            // 启动 GPT1
}

四、综合对比

外设特点应用场景
UART1串口通信,波特率可调,收发数据调试输出、模块通信
EPIT1支持中断的周期定时器LED 闪烁、心跳、任务调度
GPT1通用计数定时器,功能灵活计时、延时、PWM

 

http://www.dtcms.com/a/505202.html

相关文章:

  • 营销型公司网站厦门最好的seo公司
  • 湖州高端网站建设公司策划公司有哪些
  • 网站源码爬取工具外网视频网站做泥声控
  • 建设部网站官网考试网站开发培训达内
  • 东莞 骏域网站建设wordpress 多站点 固定链接
  • 白沙网站建设兰州市解封最新消息
  • php企业网站后台管理系统创建网站的流程
  • 南阳建站公司沈阳企业网站
  • 个人网站主页模板sql网站源码
  • 翻译网站开发wordpress主题 犀牛
  • 网销网站建设流程wordpress4.5 火车头
  • 学做卤菜网站做英文网站多少钱
  • 湖南做网站长沙企业名录黄页
  • FastbuildAI二开--Coze套餐功能开发指南
  • 十大免费网站推广平台建设工程检测预约网站
  • cms怎么搭建网站珠海工程建设信息网站
  • 荆门网站开发有哪些制作外贸网站成本
  • redis网站开发书籍wordpress后台添加底部菜单
  • 企业网站建设公司网络服务网站的标志可以修改吗
  • 有关学校网站建设策划书宁波seo怎么推广
  • 电脑建立网站seo商学院
  • 汽车网站代码校园跑腿小程序搭建
  • 网站显示已备案wordpress 时差
  • 做dm页网站广州建网站的公司 白云区
  • 怎样制作购物网站 微信转发学校网站建设要多少钱
  • 宁波网站制作报价ui一般用什么软件做
  • 网站做自动群发百度搜录做非洲外贸的网站
  • 站酷设计网页版wordpress到服务器
  • 扁平图标网站阿里免费版企业邮箱
  • 贵州省建设厅报名网站网站设计评分标准