|
這是關(guān)于串口通信的程序,可以實(shí)現(xiàn)三方通信(只用一個(gè)串口)STM32與兩片MSP430實(shí)現(xiàn)通信
0.png (4.96 KB, 下載次數(shù): 27)
下載附件
2019-4-12 17:00 上傳
單片機(jī)源程序如下:
- #include <msp430x14x.h>
- #include "RF.h"
- void delay_100ms(unsigned int i)
- {
- unsigned long j;
- for(;i>0;i--)
- {
- for(j=0;j<144200;j++);
- }
- }
-
-
- //unsigned char RXData[4]={0};
- unsigned char TxBuf[5]={0};
- unsigned char RxBuf[5]={0};
- unsigned char a,b,c;
- unsigned char PaTabel[8] = {0x60 ,0x60 ,0x60 ,0x60 ,0x60 ,0x60 ,0x60 ,0x60};
- //unsigned char rxBuffer;
- void main(void)
- {
-
-
- unsigned char leng = 2;
- // P5DIR |= BIT3;
- //P5OUT |= BIT3;
-
-
-
-
-
- CpuInit(); //包括看門狗,時(shí)鐘,I/O口,SPI
- POWER_UP_RESET_CC1100();
- halRfWriteRfSettings();
- halSpiWriteBurstReg(CCxxx0_PATABLE, PaTabel, 8,1);
- halSpiWriteBurstReg(CCxxx0_PATABLE, PaTabel, 8,2);
- delay(100);
-
-
- P3SEL |= 0x30; //P3.4 P3.5 ????????????
- ME1 |= UTXE0 + URXE0; // Enable USART0 TXD/RXD
- UCTL0 |= CHAR; // 8-bit character
- UTCTL0 |= SSEL1; // UCLK = SMCLK
- UBR00 = 0x45; // 8MHz 115200
- UBR10 = 0x00; // 8MHz 115200
- UMCTL0 = 0x00; // 8MHz 115200 modulation
- UCTL0 &= ~SWRST; // Initialize USART state machine
- IE1 |= URXIE0;
- delay(100);
-
- P1DIR &= ~(BIT0+BIT1+BIT2+BIT3);
- P2DIR |= BIT7+BIT6+BIT5+BIT4; //控制led燈
- P2OUT |=BIT7+BIT6+BIT5+BIT4;
- for(;;)
- {
- /**********************************開機(jī)************************************************/
- if(0==(P1IN&0X01))
- {
- P2OUT^=BIT7;
- delay_100ms(1);
-
- TxBuf[0]=0x01;
- TxBuf[1]=0x02;
-
- while(0==(P1IN&0X01));
- halRfSendPacket(TxBuf,leng,1); // Transmit Tx buffer data
-
- }
-
- /********************************關(guān)機(jī)**************************************************/
- if(0==(P1IN&0X02))
- {
- P2OUT^=BIT6;
- delay_100ms(1);
-
- TxBuf[0]=0x01;
- TxBuf[1]=0x03;
- while(0==(P1IN&0X2));
- halRfSendPacket(TxBuf,leng,1); // Transmit Tx buffer data
-
- }
- /***********************************溫度加***********************************************/
- if(0==(P1IN&0X04))
- {
- P2OUT^=BIT5;
- delay_100ms(1);
-
- TxBuf[0]=0x01;
- TxBuf[1]=0x04;
-
- while(0==(P1IN&0X04));
- halRfSendPacket(TxBuf,leng,1); // Transmit Tx buffer data
-
- }
- /**********************************溫度減************************************************/
- if(0==(P1IN&0X08))
- ……………………
- …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
stm32和msp430通信.7z
(349.06 KB, 下載次數(shù): 20)
2019-4-12 17:01 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
|