📄 oem_pym.c
字号:
/******************************************************************************/
//功能:读取模块信息
/******************************************************************************/
#include <msp430x14x.h>
void rxon_txoff(void)
{
ME2 |= UTXE0;
ME2 &= ~URXE0; //set TXEN
}
void rxoff_txon(void)
{
ME2 &= ~UTXE0;
ME2 |= URXE0;
}
/*
void ser_init(void)
{
//USART initialization
//Communication Parameters:8 Data,2 Stop,No parity
//USART Receiver:ON
//USART Transmitter:Off
//USART Mode:Asynchronous
//USART Band Rate:19200
UCSRA = 0x00;
UCSRB = 0x90;
UCSRC = 0x8e;
UBRRH = 0x00;
UBRRL = 0x0b;
}
*/
void cmd_interperter(void)
{
char buffer[2],i;
rxoff_txon();
putchar(0x7f);
putchar(0x01);
putchar(0x21);
rxon_txoff();
buffer[0] = getchar();
buffer[1] = getchar();
for(i=0;i<8;i++)
{
buffer[0] = buffer[0]>>1; //read first byte
}
for(i=0;i<8;i++)
{
buffer[1] = buffer[1]>>1; //read second byte
}
}
void Init_UART1(void)
{
//USART initialization
//Communication Parameters:8 Data,2 Stop,No parity
//USART Receiver:ON
//USART Transmitter:Off
//USART Mode:Asynchronous
//USART Band Rate:19200
//将寄存器的内容清零
U0CTL = 0X00;
//数据位为8bit
U0CTL += CHAR;
//将寄存器的内容清零
U0TCTL = 0X00;
//波特率发生器选择SMCLK
U0TCTL += SSEL1;
//波特率为19200
UBR0_0 = 0X36;
UBR1_0 = 0X00;
//调整寄存器
UMCTL_0 = 0X6b;
//使能UART1的TXD和RXD
ME1 |= UTXE0 + URXE0;
//使能UART1的RX中断
//IE2 |= URXIE1;
//使能UART1的TX中断
//IE2 |= UTXIE1;
//设置P3.6为UART1的TXD
P3SEL |= BIT4;
//设置P3.7为UART1的RXD
P3SEL |= BIT5;
//P3.6为输出管脚
P3DIR |= BIT5;
P3DIR &= ~BIT4;
return;
}
void main(void)
{
WDTCTL = WDTPW + WDTHOLD;
Init_UART1();
while(1)
{
cmd_interperter();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -