اطلاعیه

Collapse
No announcement yet.

مشکل در راه اندازی سنسور دمای داخلی stm32f7

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    مشکل در راه اندازی سنسور دمای داخلی stm32f7

    با سلام خدمت دوستان ومهندسین گرامی ، من تازه شروع به کار با ARM و برد stm32f746 کردم میخواستم سنسور دمای داخلیش رو بخونم و روی یک سون سگمنت نمایش بدم ولی درست اجرا نمیشه ممنون میشم دوستان راهنمایی بفرمایند که ایراد کار کجاست.برنامه در keil نوشتم وبرای set کردن پایه های میکرو از cube mx استفاده کردم.
    اینم برنامه:
    کد PHP:
    void SystemClock_Config(void);
    void Error_Handler(void);
    static 
    void MX_GPIO_Init(void);
    static 
    void MX_ADC1_Init(void);

    float vref=1.21;

    void delay(int t){
        
    int i;
        for(
    i=0;i<0.1918*t;i++);
    }

    void seg_E(int n){
        
        
    GPIOF->ODR=(1<<n);
        
    }

    int seg[]={0x40,0x4f,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};

    void seg_w(int m){
        
        
    GPIOD->ODR=seg[m];
    }

    void point_off(){
        
    GPIOD->ODR|=(1<<7);
    }

    int main(void)
    {


      
    HAL_Init();

      
    /* Configure the system clock */
      
    SystemClock_Config();

      
    /* Initialize all configured peripherals */
      
    MX_GPIO_Init();
      


      while (
    1)
      {
            
    MX_ADC1_Init();
            
    HAL_ADC_Start(&hadc1);
            while(!(
    __HAL_ADC_GET_FLAG(&hadc1ADC_FLAG_EOC)));
            
    int Vi=HAL_ADC_GetValue(&hadc1);
            
    float Vsen=(vref*Vi)/4095;
            
    float deg=((Vsen-0.76)/0.0025)+25;
            
            
    int num=deg*10;
            
    int c=num%10;
            
    int b=(num/10)%10;
            
    int a=num/100;
            
            
    seg_E(0);
            
    seg_w(a);
            
    point_off();
            
    delay(200);
            
            
    seg_E(1);
            
    seg_w(b);
            
    delay(200);
            
            
    seg_E(2);
            
    seg_w(c);
            
    point_off();
            
    delay(200);
      

      }
      
    /* USER CODE END 3 */


لطفا صبر کنید...
X