使用TI的MSP430實現一個微控制器與上位機的數傳系統。(西安電子科技大學綜合應用開發實驗)

Alpha.發表於2020-11-21

題目要求:
目標:智慧控制系統——利用微控制器(開發平臺任選),設計並程式設計實現一個微控制器與上位機的數傳系統。
要求:對微控制器和PC/手機/微控制器之間的通訊進行設計。如果大作業沒有設計通訊部分,則需要單獨完成此部分內容;如果大作業中包含通訊部分,則只需提交這部分內容的作為平時作業。
平臺:MSP430,MCS51,STM32等皆可。

分析:
可以使用energia自帶的串列埠函式,當按鍵摁下時,串列埠監視器顯示‘A’,當PC端傳送字元‘g’/‘G’,開發板的綠燈亮;傳送字元‘r’/‘R’,開發板的紅燈亮;
從而實現微控制器和PC之間的通訊。

以下是使用energia開發環境的程式碼。

const int LED1 =  RED_LED; 
const int LED2 =  GREEN_LED; 
const int buttonPin = PUSH2;

char inByte = '0';
int buttonState = 0;
void setup() { 
  Serial.begin(9600);               
  pinMode(LED1, OUTPUT);   
  pinMode(LED2, OUTPUT);  
  pinMode(buttonPin, INPUT_PULLUP);   
  digitalWrite(LED1,LOW) ;
  digitalWrite(LED2,LOW) ;
}


void loop() {
  buttonState = digitalRead(buttonPin);
  if(buttonState == LOW){
      Serial.println('A');
  }
  if (Serial.available() > 0) {
      inByte = Serial.read();
      if(inByte =='R'){
          digitalWrite(LED1,HIGH) ;
          delay(1000);
          digitalWrite(LED1,LOW) ;
      }
      if(inByte =='r'){
          digitalWrite(LED1,HIGH) ;
          delay(1000);
          digitalWrite(LED1,LOW) ;
      }
      if(inByte =='G'){
          digitalWrite(LED2,HIGH) ;
          delay(1000);
          digitalWrite(LED2,LOW) ;
      }
      if(inByte =='g'){
          digitalWrite(LED2,HIGH) ;
          delay(1000);
          digitalWrite(LED2,LOW) ;
      }
  }
}

相關文章