📄 main.c
字号:
#include <hidef.h> /* common defines and macros */
#include <mc9s12dp256.h> /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12dp256b"
#define TXE PORTA_BIT0
#define PWR PORTA_BIT1
#define CS PORTA_BIT2
#define SCIRxE SCI0CR2_RE //SCI 接收控制位
#define SCITxE SCI0CR2_TE //SCI 发送控制位
void iniVal(void);
void delay(void);
void delay_long(void);
void ini_SCI(void);
void SCI_TX(byte *data,
word num);
byte g_data[9];
void iniVal(void)
{
DDRA = 0xFF;
PORTA = 0x00;
DDRS = 0xFF;
PTS = 0x00;
}
void delay(void)
{
word i;
for (i=0; i<20000; i++);
}
void delay_long(void)
{
word a,b;
for (a=0; a<60000; a++)
for (b=0; b<10; b++);
}
void ini_SCI(void)
{
SCI0BDH = 0x00;
SCI0BDL = 0x34;
//19200 -0x1A;
//9600 - 0x34;
//4800 - 0x68;
//2400 - 0xD0
//1200 - 0x01A1
SCI0CR1 = 0x00; //normal模式
SCIRxE = 0; //接收不使能
SCITxE = 1; //发送使能
}
/*
** ###################################################################
**
** SCI串口发送程序(发送数据,发送长度)
**
** ###################################################################
*/
void SCI_TX(byte *data,
word num)
{
word i;
for(i=0; i<num; i++)
{
while(0 == SCI0SR1_TDRE); //等待发送缓冲区空
SCI0DRL = *(data+i); //向发送缓冲区写入待发送数据
}
while(0 == SCI0SR1_TC); //等待发送结束
}
/*
** ###################################################################
**
** SCI串口发送程序(一个字节)
**
** ###################################################################
*/
void SCI_TX_Byte(byte data)
{
while(0 == SCI0SR1_TDRE);
SCI0DRL = data;
while(0 == SCI0SR1_TC);
}
void ini_nRF401(void)
{
TXE = 0; // 上电前为接收状态
PWR = 1; // 上电
delay_long();// delay > 3ms
CS = 0; // 载波频率为433MHZ
TXE = 1; // 转为发射状态
delay_long();// delay > 1ms 即可
}
void main(void) {
/* put your own code here */
iniVal();
ini_SCI();
ini_nRF401();
PTS = 0xFF;
g_data[0] = 0x55;
g_data[1] = 0x55;
g_data[2] = 0xAA;
g_data[3] = 0xAA;
g_data[4] = 4;
g_data[5] = 5;
g_data[6] = 6;
g_data[7] = 7;
g_data[8] = 8;
for(;;) {
SCI_TX(g_data,9);
delay_long();
delay_long();
PTS = ~PTS;
} /* wait forever */
/* please make sure that you never leave this function */
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -