MSP-EXP430F5529LP开发板006-UART库函数

串口是比较常用的开发中比较常用的部分了,这部分难点就是波特率的设置了,为此还特地下了篇英文手册,硬着头皮看了下,学会如何配置了,下面就是串口初始化部分

void myuart_init()
{
  //P3.3,4 = USCI_A0 TXD/RXD
  GPIO_setAsPeripheralModuleFunctionInputPin(GPIO_PORT_P3,GPIO_PIN3 + GPIO_PIN4);

  //Baudrate = 9600, clock freq = 4MHz
  //UCBRx = 26, UCBRFx = 1, UCBRSx = 0, UCOS16 = 1
  USCI_A_UART_initParam param = {0};
  param.selectClockSource = USCI_A_UART_CLOCKSOURCE_SMCLK;
  param.clockPrescalar = 26;
  param.firstModReg = 1;
  param.secondModReg = 0;
  param.parity = USCI_A_UART_NO_PARITY;
  param.msborLsbFirst = USCI_A_UART_LSB_FIRST;
  param.numberofStopBits = USCI_A_UART_ONE_STOP_BIT;
  param.uartMode = USCI_A_UART_MODE;
  param.overSampling = USCI_A_UART_OVERSAMPLING_BAUDRATE_GENERATION;

  if (STATUS_FAIL == USCI_A_UART_init(USCI_A0_BASE, &param))
  {
      return;
  }

  //Enable UART module for operation
  USCI_A_UART_enable(USCI_A0_BASE);

  //Enable Receive Interrupt
  USCI_A_UART_clearInterrupt(USCI_A0_BASE,USCI_A_UART_RECEIVE_INTERRUPT);
  USCI_A_UART_enableInterrupt(USCI_A0_BASE,USCI_A_UART_RECEIVE_INTERRUPT);
}

看到这一部分大家就应该比较眼熟了,有点类似32的uart初始化,但不同的是波特率部分,需要根据时钟源进行计算。这里我选择的是SMCLK,时钟配置沿袭了上一篇文章的配置,也就是SMCLK为4MHz。那么具体怎么设置呢?这里就只能参看英文手册了,这一部分截图如下

大体思路就是先计算N

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值