打印

单片机C语言设计框架

[复制链接]
1022|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lessbird|  楼主 | 2013-12-29 17:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本人是做单片机项目的,一般不带系统,像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)和设备描述符之类的东西,但本人能力有限不知道现在有没有现成的一些好的框架

相关帖子

沙发
dirtwillfly| | 2013-12-29 19:02 | 只看该作者
msp430方面的程序框架还真没见过多好的

使用特权

评论回复
板凳
dirtwillfly| | 2013-12-29 19:05 | 只看该作者
或许你可以参考energia

使用特权

评论回复
地板
niuyaliang| | 2013-12-31 16:25 | 只看该作者
难呀,我觉得基本不可能这个实现,除非你一辈子只用这么一个芯片

使用特权

评论回复
5
zxf0168| | 2013-12-31 16:33 | 只看该作者
不好弄啊,真心的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

5

帖子

0

粉丝