TI中文支持网
TI专业的中文技术问题搜集分享网站

msp430 C语言设计框架

本人是做单片机项目的,一般不带系统,像msp430系列的,本人感觉自己没有一个好的程序框架,写程序的既不美观也没效率,特别是硬件初始化的时候,比如初始化UART模块:
void Init_UART(void)

  USB_PORT_SEL   |= TXD_U + RXD_U          ; // 选择引脚功能
  USB_PORT_DIR   |= TXD_U                  ; // 选择引脚功能
  UCA1CTL1        = UCSWRST                ; // 状态机复位
  UCA1CTL1       |= UCSSEL_1               ; // CLK = ACLK
  UCA1BR0         = 0x03                   ; // 32kHz/9600=3.41 
  UCA1BR1         = 0x00                   ; 
  UCA1MCTL        = UCBRS_3 + UCBRF_0      ; // UCBRSx=3, UCBRFx=0
  UCA1CTL1       &= ~UCSWRST               ; // 启动状态机
  UCA1IE         |= UCRXIE                 ; // 允许接收中断
}
我看到很多人都这样写,但是如果我要做另外一个项目的话,如果要更改UART的配置的话,UCBRS_3,UCSWRST代表什么又得去查资料,很麻烦。所以我想整出一个框架出来(不是系统,只是为了平常做项目方便),如果我要将uart初始为9600波特率,只要调用Init_UART(9600),只可以了,不想去管那些寄存器,比如把程序分为(1)硬件驱动层(2)硬件逻辑层(3)应用层,还有什么设备控制块(DCB)和设备描述符之类的东西,但本人能力有限不知道现在有没有现成的一些好的框架

Ling Zhu2:

你好,可以的,这就是软件分层的思想,你可以写一个Init_UART()的函数啊,只不过这个函数比较复杂,需要枚举出所有的配置情况。

Shi JianHua:

想法很好,但是现在大多是单独的做,这么系统除非你的编程几率非常高。

赞(0)
未经允许不得转载:TI中文支持网 » msp430 C语言设计框架
分享到: 更多 (0)