用6个引脚采集ADC,串口发送到电脑
cpp展开代码/*
 * Otherwise, the compiler removes it
 * because it is not used for anything.
 */
int kaiguanliang[4];                                    /* 四个开关量 */
unsigned char adok_ifg = 1;                             /* 转换结束后变成0 */
char fasong[20];
int main( void )
{
 WDTCTL = WDTPW | WDTHOLD;                       /* Stop watchdog timer */
 Clock_Init();                                   /* 系统时钟设置 */
 UART_Init();                                    /* 串口设置初始化 115200 */
 init_AD();                                      /* 初始化ad */
 init_key();                                     /* 初始化按键 */
 _EINT();                                        /* 开中断 */
 while ( 1 )
 {
  /* 检测AD */
  adok_ifg = 1;                    /* 转换结束后变成0 */
  ADC12CTL0 |= ADC12SC;             /* Start conversion */
  while ( adok_ifg == 1 )
   ;                               /* 等待装换结束 */
  /* p1.0 电平高低 决定了kaiguanliang【0】是1还是0 以此作为开关量 */
  if ( (P1IN & BIT0) == 0 )
  {
   kaiguanliang[0] = 0;
  } else {
   kaiguanliang[0] = 1;
  }
  if ( (P1IN & BIT1) == 0 )
  {
   kaiguanliang[1] = 0;
  } else {
   kaiguanliang[1] = 1;
  }
  if ( (P1IN & BIT2) == 0 )
  {
   kaiguanliang[2] = 0;
  } else {
   kaiguanliang[2] = 1;
  }
  if ( (P1IN & BIT3) == 0 )
  {
   kaiguanliang[3] = 0;
  } else {
   kaiguanliang[3] = 1;
  }
  /* 发送模拟量0 ad0 */
  memset( fasong, 0, sizeof(fasong) );    /* 清空发送数组 */
  sprintf( fasong, "AD0:%d  ", results[0] );
  Print_Str( fasong );
  delay_ms( 5 );
  /* 发送模拟量1 ad1 */
  memset( fasong, 0, sizeof(fasong) );    /* 清空发送数组 */
  sprintf( fasong, "AD1:%d  \r\n", results[1] );
  Print_Str( fasong );
  delay_ms( 5 );
  /* 发送模拟量2 ad2 */
  memset( fasong, 0, sizeof(fasong) );    /* 清空发送数组 */
  sprintf( fasong, "AD2:%d  ", results[2] );
  Print_Str( fasong );
  delay_ms( 5 );
  /* 发送模拟量3 ad3 */
  memset( fasong, 0, sizeof(fasong) );    /* 清空发送数组 */
  sprintf( fasong, "AD3:%d  \r\n", results[3] );
  Print_Str( fasong );
  delay_ms( 5 );
  /* 发送模开关量0 */
  memset( fasong, 0, sizeof(fasong) );    /* 清空发送数组 */
  sprintf( fasong, "KAIGUAN0:%d  ", kaiguanliang[0] );
  Print_Str( fasong );
  delay_ms( 5 );
  /* 发送开关量1 */
  memset( fasong, 0, sizeof(fasong) );    /* 清空发送数组 */
  sprintf( fasong, "KAIGUAN1:%d  \r\n\r\n\r\n", kaiguanliang[1] );
  Print_Str( fasong );
  delay_ms( 5 );
  delay_ms( 500 );
 }
}
cpp展开代码https://docs.qq.com/sheet/DUEdqZ2lmbmR6UVdU?tab=BB08J2


本文作者:Dong
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!