小编Seg*_*ter的帖子

C程序在分配变量时停止执行

我不确定在专门分配变量时是否会发生这种情况,但是在调试汇编代码时,编译器会RJMP $+0000在挂起程序的地方执行。

编辑:如果相关,我添加了包含的库

#define __DELAY_BACKWARD_COMPATIBLE__
#define F_CPU 8000000UL
#include <avr/io.h>
#include <avr/delay.h>
#include <stdint.h> 

void ReadTemp(uint8_t address){
    
    ADCSRA = ADCSRA | 0b10000111;       //enable ADC, CLK/128 conversion speed
    ADMUX  = ADMUX | 0b01000000;        //Use internal 2.56V Vref and PA0 as input, right-hand justified
        
    ADCSRA |= (1 << ADSC);              //start conversion
        
    while(!(ADCSRA & (1 << ADIF))) {}   // wait until process is finished;

    uint8_t  low_value = ADC & 0x00FF;
// or low_value = ADCL;
    uint8_t high_value = ADC & 0xFF00; …
Run Code Online (Sandbox Code Playgroud)

c avr atmega

0
推荐指数
1
解决办法
134
查看次数

标签 统计

atmega ×1

avr ×1

c ×1