用这两个寄存器可完成USART的基本设置.如:
SET U0CSR.MODE ;选择USART0为UART模式
SET U0CSR.RE ;允许USART0接收数据
MOV U0UCR,#1FH ;设置UART的帧格式。此格式为奇偶校验有效,一帧为9位,第9位为偶校验,停止住为高电平。且接收器校验两位停止位,开始位为高电平。
值得注意的是,CC2430串口波特率的设置与一般8051不同,因为其内部集成了一个波特率发生器,因此,不需要使用定时器而只需设置相关的SFR 寄存器UxBAUD.BAUD_M[7:0]和UxGCR.BAUD[4:0],便可得到系统要求的波特率,其关系式如下:
其中,F为系统时钟频率。若F为32 MHz,执行下列语句.得到9600 b/s的串口波特率:
MOV U0GCR,#08H ;对应BAUD_E
MOV U0BAUD,#3BH ;对应BUAD_M,设置波特率为9600 b/s
实际上对USART的操作还包含对其所连接的I/O口的设置。设置I/O应与硬件密切结合,如:
MOV P1SEL,#30H ;选择P1.5,P1.4为外部功能口
MOV P1DIR,#20H ;选择P1.5为输出口,P1.4为输入口
CLR P1FG ;清空P1口的中断标志
MOV P2SEL,#00H ;设置USART0为优先
同样.对DMA和Radio的操作也有这样功能全面的SFR寄存器。对CC2430进行程序设计,其实就是对其SRF寄存器的认识和运用过程,篇幅所限这里不一一赘述。 5 系统抗干扰
由于系统所处环境有较强的电磁场干扰,因此需要进行电磁屏蔽。具体方法为:将模块置于一个铝质外壳中。外壳通过RS232接口与上位机外壳连接.实现接地。铝质外壳相当于一个空心的导体.置于电场中,电力线终止于导体表面,从而有屏蔽电场的作用。铝质外壳也相当于一个屏蔽罩,在高频磁场的作用下产生涡流,而涡流的磁场与原磁场方向相反,从而可屏蔽高频磁场。 6 结束语
本文所提及的无线模块虽然是针对水阻试验系统中的数据采集部分进行改造的,但是由于与上位机的连接采用RS232,所以此无线模块也可应用于一般的带RS232串口的数据采集系统
|