CC2530之UART串口通信_cc2530有几个串口

收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
img
img

如果你需要这些资料,可以戳这里获取

需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

选择外部32MHz晶振时,具体值可参阅下表:

这里写图片描述

测试程序如下:

#include <iocc2530.h>

#define uint unsigned int
#define uchar unsigned char

void setSysClock();
void uart0Init();
void uart0SendStr(uchar *str);

void main()
{
    setSysClock();       
    uart0Init();

    uart0SendStr("Hello world\n");

    while (1) {

    }
}

/\*\*
 \* 设置系统时钟为32MHz
 \*/
void setSysClock()
{
    CLKCONCMD &= ~0x40;           // 选择系统时钟源为外部32MHz crystal oscillator
    while(CLKCONSTA & 0x40);      // 等待晶振启动 
    CLKCONCMD &= ~0x47;           // 设置系统时钟频率为32MHZ 
}

/\*\*
 \* 8-bit数据位,无奇偶校验,Baud:115200bps
 \*/
void uart0Init()
{
    PERCFG = 0x00;   // 外设控制,UART0选择端口位置1 
    P0SEL = 0x0C;    // 端口0功能选择,P0\_2、P0\_3用作串口
    P2DIR &= ~0xC0;  // 端口0外设优先级控制,高2位置0,USART0优先

    U0CSR |= 0x80;   // UART模式
    U0GCR |= 11;
    U0BAUD |= 216;   // 采用32MHz系统时钟时,波特率设置为115200
    UTX0IF = 0;      // UART0 TX中断标志初始置位0

}

void uart0SendStr(uchar *str)
{
    while (*str != '\0') {
        U0DBUF = *str++;
        while(UTX0IF != 1);  // 等待发送完成
        UTX0IF = 0; 
    }
}

收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
img
img

如果你需要这些资料,可以戳这里获取

需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人**

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值