stm32f103 毕设 求指点

2019-07-21 02:26发布

对压力信号进行ad转换 实时比较两个数的差 大于某数进行Lora发送

int main(void)
{
   float temp;
Stm32_Clock_Init(9);         //ϵͳʱÖÓÉèÖÃ
delay_init(72);           //ÑÓʱ³õʼ»¯
  uart_init(72,115200);
LED_Init();      //³õʼ»¯ÓëLEDÁ¬½ÓµÄÓ²¼þ½Ó¿Ú
  LCD_Init();  
     //LCD_ShowxNum(1 ,130,56,4,16,0);//ÏÔʾADCµÄÖµ
LoRa_Init( );
LoRa_CFG.addr=LORA_ADDR;
LoRa_CFG.bps=LORA_TTLBPS_115200 ;
LoRa_CFG.chn=LORA_CHN ;
LoRa_CFG.mode= LORA_MODE_GEN;
LoRa_CFG.mode_sta= LORA_STA_Tran;
LoRa_CFG.parity=LORA_TTLPAR_8N1;
LoRa_CFG.power=LORA_PW_20Bbm;
LoRa_CFG.wlrate= LORA_RATE_19K2;
LoRa_CFG.wltime=LORA_WLTIME_1S;
LoRa_Set( );

    ADC_SoftwareStartConvCmd(ADC1, DISABLE);
  Adc_Init();  

  adcx=Get_Adc_Average(ADC_CH1,10);
   LCD_ShowxNum(1,130,56,4,16,0);
    ADC_SoftwareStartConvCmd(ADC1, ENABLE);
  temp=(float)adcx*(3.3/4096);
   adcx=temp;
   int k;
   int p;
   k=5789;

}
void ADC1_2_IRQHandler(void)
  {
    if(ADC_GetITStatus(ADC1,ADC_IT_EOC))
  {


  ad[0]=Get_Adc(1);
  //LCD_ShowxNum(156,140,ad[0],4,16,0);
  delay_ms(1000);

  temp[0]=(float)ad[0]*(3.3/4096);
  //ad[1]=Get_Adc_Average(1,10);
   LCD_ShowxNum(156,130,1000,4,16,0);

  u2_printf("%f ",temp[0]);  
  
ADC_ClearITPendingBit(ADC1, ADC_IT_EOC);
         
  }
}
那个adc设置单次转换 也是一直中断发送 也不会执行后面的那个   LCD_ShowxNum(1,130,56,4,16,0);
我本来打算 adc中断里面获取数据 然后主函数 比较 现在我感觉他执行不到  Adc_Init(); 后面的·了  懵了 大神指点 要中期检查了 wan
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。