Ассемблер (ASM) для AVR в вопросах и ответах

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
Pink-Pank
Опытный кот
Сообщения: 721
Зарегистрирован: Ср июн 11, 2014 09:43:13
Откуда: США
Контактная информация:

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение Pink-Pank »

Ну, тогда где-то лишний rcall или забыли ret. Еще как вариант - обращаетесь к регистрам периферии за диапазоном 0x5F при помощи команд in/out. В результате попадаете на регистры стека. Где-то тут на форуме проскакивала такая ошибка.
Fucking static initialization order fiasco
akl
Друг Кота
Сообщения: 4444
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение akl »

СКАЗОЧНИК писал(а):Может кому не лень будет, глянет в АВРстудии проект мой...Однако, после выхода из подпрограммы инициализации дисплея (по ret) попадает не туда, откуда начал... Уже исправил одну проблему, когда перекидывало по ret выше на два адреса, а теперь НИЖЕ перекидывает...
Если это вся программа, то работает правильно.
Спойлер

Код: Выделить всё

   .include "tn2313def.inc"   


; ============
; ТИП МИКРОКОНТРОЛЛЕРА (.device)
; ============

   .device ATtiny2313
 
; =================
; ОБЪЯВЛЕНИЯ И КОНСТАНТЫ (.def, .equ)
; =================
 
   .def temp = R16   
   
; ====
; МАССИВЫ И Т.Д. (.eseg) EEPROM (.db, .dw)
; ====
   
   .eseg

; ******************************
; НАЧАЛО ПРОГРАММЫ (.cseg) FLASH
; ******************************
   
   .cseg

; ----------
; ВЕКТОРЫ ПРЕРЫВАНИЙ
; ----------
   
   rjmp RESET          ; Reset Handler
    rjmp INT_0          ; External Interrupt0 Handler
    rjmp INT_1          ; External Interrupt1 Handler
    rjmp TIM1_CAPT       ; Timer1 Capture Handler
    rjmp TIM1_COMPA    ; Timer1 CompareA Handler
    rjmp TIM1_OVF       ; Timer1 Overflow Handler
   rjmp TIM0_OVF       ; Timer0 Overflow Handler
   rjmp USART0_RXC    ; USART0 RX Complete Handler
   rjmp USART0_DRE    ; USART0,UDR Empty Handler
   rjmp USART0_TXC    ; USART0 TX Complete Handler
   rjmp ANA_COMP       ; Analog Comparator Handler
   rjmp PCINT          ; Pin Change Interrupt
   rjmp TIMER1_COMPB    ; Timer1 Compare B Handler
   rjmp TIMER0_COMPA    ; Timer0 Compare A Handler
   rjmp TIMER0_COMPB    ; Timer0 Compare B Handler
   rjmp USI_START       ; USI Start Handler
   rjmp USI_OVERFLOW    ; USI Overflow Handler
   rjmp EE_READY       ; EEPROM Ready Handler
   rjmp WDT_OVERFLOW    ; Watchdog Overflow Handler
   
   
   ;RESET          ; Reset Handler
    INT_0:          ; External Interrupt0 Handler
    INT_1:         ; External Interrupt1 Handler
    TIM1_CAPT:       ; Timer1 Capture Handler
    TIM1_COMPA:    ; Timer1 CompareA Handler
    TIM1_OVF:       ; Timer1 Overflow Handler
   TIM0_OVF:       ; Timer0 Overflow Handler
   USART0_RXC:    ; USART0 RX Complete Handler
   USART0_DRE:    ; USART0,UDR Empty Handler
   USART0_TXC:    ; USART0 TX Complete Handler
   ANA_COMP:       ; Analog Comparator Handler
   PCINT:          ; Pin Change Interrupt
   TIMER1_COMPB:    ; Timer1 Compare B Handler
   TIMER0_COMPA:    ; Timer0 Compare A Handler исправил в ТН2313ДЕФ.ИНК
   TIMER0_COMPB:    ; Timer0 Compare B Handler исправил в ТН2313ДЕФ.ИНК
   USI_START:       ; USI Start Handler
   USI_OVERFLOW:    ; USI Overflow Handler
   EE_READY:       ; EEPROM Ready Handler
   WDT_OVERFLOW:    ; Watchdog Overflow Handler
   
   reti         ; Выход из прерываний, которые не используются

; ----------
; ОБРАБОТЧИКИ ПРЕРЫВАНИЙ
; ----------

 
         
; **************************************************************************************************
; ИНИЦИАЛИЗАЦИЯ МК (логическое начало основной программы) ******************************************
; **************************************************************************************************

;           --------- конфигурация портов ----------           

   Reset:   
         
;         ---------- начальные значения переменных, массивы ----------
          
      
;           ----- конфигурация прерываний, стека, аналогового компаратора, таймеров -----

         ldi temp, 0xFF         ; Сбросить флаги внешних прерываний
         out EIFR, temp         
         
         ldi temp, RAMEND      ; Загрузка указателя стека
         out SPL, temp

         ldi temp, 1<<ACD       ; Выключаем аналоговый компаратор (для меньшего потребления)
         out ACSR, temp                
         
      
      rcall   INIT_LCD

      ldi         R18, 0x34      
      rcall   SYMBOL

;ADDRESS 1,2

   ;      SYMBOL   0x33
   ;      SYMBOL   0x37
   ;      SYMBOL   0x36
   ;      SYMBOL   0x31
;ADDRESS 1,8
   ;      SYMBOL   0x4d
   ;      SYMBOL   0x48      
   ;      SYMBOL   0x7a

;ADDRESS 1,12
   ;      SYMBOL   0x6b
   ;      SYMBOL   0x48
   ;      SYMBOL   0x7a


;ADDRESS 2,2
   ;      SYMBOL   0x34
   ;      SYMBOL   0x33
   ;      SYMBOL   0x37
   ;      SYMBOL   0x36
   ;      SYMBOL   0x31
;ADDRESS 2,8
   ;      SYMBOL   0x4d
   ;      SYMBOL   0xa1      
   ;      SYMBOL   0xe5
;ADDRESS 2,12
;
;         SYMBOL   0xba
;         SYMBOL   0xa1
;         SYMBOL   0xe5
      ;   SYMBOL   0x70
      ;   SYMBOL   0xc3
      ;   SYMBOL   0xb3
      ;   SYMBOL   0x61
      ;   SYMBOL   0xb9
;ADDRESS 2,12   

                                     
;           ---------- разрешение прерываний ----------         

         sei                  ; Разрешаем прерывания   

; *******************************************************************************************************************
; ОСНОВНАЯ ПРОГРАММА (основной цикл) ********************************************************************************
; *******************************************************************************************************************

   Start:   
                           
   rjmp Start   ; Конец программы, переход на начало


; ***************************************************************************************************
; ПОДПРОГРАММЫ **************************************************************************************
; ***************************************************************************************************
;SYMBOL:
 ;      OUT   PORTB,R18
;вывод старшей тетрады
   ;    SWAP R18
  ;     OUT   PORTB,R18
;вывод младшей тетрады
   ;RET
;   ret
;INIT_LCD:
;   ret


;*****************************************************************************************************************************   
         .equ   DB7port = PORTB      ; Указать порт,к которому подключен вывод DB7 дисплея
         .equ   DB7ddr   = DDRB      ; Указать регистр напраавления порта, к которому подключен DB7 дисплея
         .equ   DB7_PIN   = PINB
         .equ   DB7pin   = 1         ; Указать номер бита порта, к которому подключен DB7 дисплея

         .equ   DB6port = PORTB
         .equ   DB6ddr   = DDRB
         .equ   DB6_PIN   = PINB
         .equ   DB6pin  = 4

         .equ   DB5port = PORTB
         .equ   DB5ddr   = DDRB      ; Аналогично (см. выше)
         .equ   DB5_PIN   = PINB
         .equ   DB5pin  = 2

         .equ   DB4port = PORTB
         .equ   DB4ddr   = DDRB
         .equ   DB4_PIN   = PINB
         .equ   DB4pin  = 3

         .equ   RSport  = PORTD
         .equ   RSddr   = DDRD
         .equ   RSpin   = 6

         .equ   R_Wport   = PORTD
         .equ   R_Wddr   = DDRD
         .equ   R_Wpin   = 5

         .equ   Eport   = PORTB
         .equ   Eddr   = DDRB
         .equ   Epin   = 0

         .equ   SPEED   = 4
;****************************************************************************************************************************

   INIT_LCD:

      sbi   RSddr, RSpin
      cbi   RSport, RSpin

      sbi R_Wddr, R_Wpin
      cbi R_Wport, R_Wpin         ; Запись в дисплей RW

      sbi Eddr, Epin
      cbi Eport, Epin            ; Опустили строб E      
      
      rcall   OUT_PORT          ;                      
   
      rcall   CLR_PORT
         
      rcall    DELAY_13107         ; Первая задержка в районе более 20 мс (после включения питания)
      rcall    DELAY_13107
      rcall    DELAY_13107
      rcall    DELAY_13107
      
      ;----------   
                                                         
      ldi      R18,   0b00110000   ; Команда установки 8 линий для инициализации (первый раз)
      
      rcall   DB_LINE            ; Вызываем подпрограмму, которая отправит команду (тетраду)

      rcall   STROBE

      rcall    DELAY_13107         ; Вторая задержка больше 5 мс

      ;----------
      
      rcall   STROBE            ; Команду на выходе никто не менял, значит просто строб

      rcall    DELAY_102         ; Задержка в 100 мкс

      ;----------
   
      rcall   STROBE

      rcall    DELAY_102         ; Задержка в 100 мкс

      ;----------
      cbi   RSport, RSpin      ; Идет команда

      ldi      R18,   0b00100000   ; Команда установки 4 линии для инициализации (четвертый раз)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      
      rcall   DB_LINE            ; Вызываем подпрограмму, которая отправит команду (тетраду)

      rcall   STROBE

      rcall    DELAY_102         ; Задержка в 100 мкс

      ;----------
      cbi   RSport, RSpin      ; Идет команда
         
      ldi      R18,   0b00101000   ; Команда установки 4 линии и две строки (наконец-то прошла и вторая тетрада) (уже нормалный порядок битов в команде)
      rcall   CMD_WR            ; Вызываем подпрограмму отправки команды
      
      ldi      R18,   0b00001000   ; Выключение дисплея
      rcall   CMD_WR            ; Вызываем подпрограмму отправки команды
   
      ldi      R18,   0b00000001   ; Очистка дисплея
      rcall   CMD_WR            ; Вызываем подпрограмму отправки команды
      rcall    DELAY_13107
      
      ldi      R18,   0b00000110   ; Установка режима вывода данных (сдвиг курсора вправо)
      rcall   CMD_WR            ; Вызываем подпрограмму отправки команды
      
      ldi      R18,   0b00001101   ; Включаем дисплей, курсор в виде квадрата
      rcall   CMD_WR            ; Вызываем подпрограмму отправки команды

   ret

;==============   

   STROBE:

      sbi Eport, Epin      ; Подняли строб
         
         rcall DELAY      ; Задержка более 500 нс

      cbi Eport, Epin      ; Опустили строб

         rcall DELAY      ; Задержка более 500 нс
   ret

;----------

   SYMBOL:               ; Символ (код символа)
         
      ;ldi      R18,   @0
      rcall   DATA_WR
      
   ;.ENDM
   ret

;----------

;   .MACRO   ADDRESS               ; Адерс в формате Адрес (х,у) , где х - строка (1 или 2), у - позиция в строке (0...16)
      
;         ldi R18, @0

;         cpi R18, 1

;         breq RAVNO            ; Перейти, если равно, т.е. выбрана 1 строка

;            ldi R18, (192+@1)   ; А если выбрана 2 строка, то прибавляем к ее адресу (и команде) позицию
         
;            rjmp W
         
;      RAVNO:   ldi R18, (128+@1)   ; А если первая строка, то прибавляем к ее команде позиции

;      W:   rcall CMD_WR

;   .ENDM
   
;*************************************************************************************************************

; ПРОЦЕДУРА записи байта команды в дисплей

   CMD_WR:

   ;   cli
      ;   rcall   BUSY         ; Ждем готовности
         cbi   RSport, RSpin      ; Идет команда
         rjmp   WRITE

;----------

; ПРОЦЕДУРА записи байта данных в дисплей

   DATA_WR:   

   ;   cli
      ;   rcall   BUSY         ; Ждем готовности
      sbi   RSport, RSpin      ; Идут данные      

;----------

   WRITE:

         rcall   DB_LINE            ; Вызываем подпрограмму, которая выведет значение тетрады в порт(ы)

         rcall   STROBE

               swap   R18         ; Перевернем тетрады местами

               nop
      
         rcall   DB_LINE            ;

         rcall   STROBE

         rcall   DELAY_102
   ;sei
   ret

;===================

   DB_LINE:                     ; Выводим тетраду в линии дисплея
            rcall CLR_PORT
            
            sbrc    R18, 4          ; Пропустить слудующую, еслли бит сброшен
            sbi      DB4port, DB4pin   ; Ставим бит
            sbrc    R18, 5          ; Пропустить слудующую, еслли бит сброшен
            sbi      DB5port, DB5pin   ; Ставим бит
            sbrc    R18, 6          ; Пропустить слудующую, еслли бит сброшен
            sbi      DB6port, DB6pin   ; Ставим бит
            sbrc    R18, 7          ; Пропустить слудующую, еслли бит сброшен
            sbi      DB7port, DB7pin   ; Ставим бит         
   ret

;=====================

;   BUSY:                        ; Ожидание флага занятости контроллера дисплея
;         ;   RCALL   PORT_IN         ; Порты на вход
;
;            cbi   RSport, RSpin            ; Идет Команда!
;            sbi   R_Wport, R_Wpin            ; Чтение!
;         
;   BusyLoop:   sbi    Eport, Epin         ; Подняли строб
;            rcall    DELAY            ; Задержка более 500 нс
;            clr R18                  ; Очистить переменную
;         ;----------
;         
;            sbic    DB7_PIN, DB7pin      ; Пропустить следующую команду, если пин очищен = 0
;               rjmp   S1
;            ldi R18, 0x00            ; Если очищен, делаем нулями
;               rjmp   Z1            ; и выходим
;            S1: ldi R18, 0xFF         ; А если не очищен, то делаем R17 единиц                     
;         ;----------
;         Z1:   cbi Eport, Epin            ; Опустили строб
;            rcall DELAY               ; Задержка более 500 нс
;
;            sbi    Eport, Epin         ; Подняли строб (Дальше строб идет, но вторую тетраду мы не читаем,на нее пофиг)
;            rcall    DELAY            ; Задержка более 500 нс
;
;            cbi Eport, Epin            ; Опустили строб
;            rcall DELAY               ; Задержка более 500 нс
;
;            cpi   R18,0x00         ; сравниваем флаг = 0? Дисплей  свободен?
;            brne   BusyLoop      ; Если нет, то переход
;   ret
;----------      

   DELAY_102:
      
      ldi R16, 255         ; Задержка ~102,4 mkсек
      ldi R17, 1         
            
      Loop2:    subi R16, 1      
            sbci R17, 0
            brcc Loop2      
   ret

;----------

   DELAY_13107:
      
      ldi R16, 255         ; Задержка ~13.107 mсек
      ldi R17, 255   
         
   
      Loop1:    subi R16, 1      
            sbci R17, 0
            brcc Loop1   
   ret

;----------

   DELAY:

         ldi      R16, SPEED

   loop:   dec      R16
         brne   loop

   ret

;----------

CLR_PORT:
         cbi DB4port, DB4pin
         cbi DB5port, DB5pin
         cbi DB6port, DB6pin
         cbi DB7port, DB7pin
ret

;----------

OUT_PORT:
         sbi   DB4ddr, DB4pin            ; Задаем направление порта на ВЫХОД
         sbi   DB5ddr, DB5pin
         sbi   DB6ddr, DB6pin
         sbi   DB7ddr, DB7pin      
ret
;.include "LCD4.inc"   
.exit
СпойлерСтудия 4.19Изображение
STACK_1.GIF
Аватара пользователя
СКАЗОЧНИК
Идёт направо - песнь заводит, Налево - сказку говорит.
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение СКАЗОЧНИК »

:dont_know: Ниче не понимаю... У меня студия глючила что ли??? Реально задолбался отлаживать... Всегда после инициализации дисплея выходила сразу на разрешение прерываний. Пропускала вывод символа... :roll: Психанул вчера закрыл проект. Сегодня открыл проверил, точно.. правильно... :oops:
Прошу прощения, что отнял у вас время. :) :beer:
Станислав
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение Gudd-Head »

Бывает, бывает что студия дико глючит.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
СКАЗОЧНИК
Идёт направо - песнь заводит, Налево - сказку говорит.
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение СКАЗОЧНИК »

Так вроде же официальная бесплатная среда разработки для АВР?! :shock:
Первый раз столкнулся просто. (не сильно часто получается новые программулины выдумывать). :)))
Станислав
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение Gudd-Head »

СКАЗОЧНИК писал(а):Так вроде же официальная бесплатная среда разработки для АВР?!
Ну и что? :) :tea:
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
СКАЗОЧНИК
Идёт направо - песнь заводит, Налево - сказку говорит.
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение СКАЗОЧНИК »

Должны поддерживать свое детище и фиксить ошибки своевременно. )))) 8)
Станислав
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение Gudd-Head »

Дык, поддерживают — качайте 6-ю :)
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
СКАЗОЧНИК
Идёт направо - песнь заводит, Налево - сказку говорит.
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение СКАЗОЧНИК »

А какую скачивать? там что-то много всего...
Станислав
akl
Друг Кота
Сообщения: 4444
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение akl »

По мне довольно стабильная 4.19 build 730. Пока ещё можно найти здесь
Аватара пользователя
СКАЗОЧНИК
Идёт направо - песнь заводит, Налево - сказку говорит.
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение СКАЗОЧНИК »

Уже 6.2 хочу. )) только не знаю какую. Просто 6.2 или 6.2 виз НЕТ?
Станислав
akl
Друг Кота
Сообщения: 4444
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение akl »

Шестёрка не понравилась. Херь какая-то монстрообразная.
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6307
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение Jack_A »

akl писал(а):По мне довольно стабильная 4.19 build 730.

Перед тем, как от нее отказаться и взяться за следующую, Атмели ее прилично вылизали :) В ранних релизах, помню, таймеры не работали.
Нормальная среда, если не гнаться за суперновинками.
Аватара пользователя
СКАЗОЧНИК
Идёт направо - песнь заводит, Налево - сказку говорит.
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение СКАЗОЧНИК »

Так все таки... За какую версию то??? .я уже скачал на всякий случай 4.19. Надо 6.2 качать нет?
Станислав
Аватара пользователя
afz
Опытный кот
Сообщения: 744
Зарегистрирован: Сб дек 22, 2012 08:17:42
Откуда: Караганда, Казахстан

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение afz »

СКАЗОЧНИК писал(а):Так все таки... За какую версию то??? .я уже скачал на всякий случай 4.19. Надо 6.2 качать нет?
Если у Вас нет чипов, которые не поддерживаются студией 4.19 (то есть сильно новых), то 4.19 - самое то! Если же Вы соберетесь работать с этими суперновыми МК, которые студия 4.19 не поддерживает, тогда придется качать и ставить 6.х
Кто мешает тебе выдумать порох непромокаемый? (К. Прутков, мысль № 133)
Аватара пользователя
СКАЗОЧНИК
Идёт направо - песнь заводит, Налево - сказку говорит.
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение СКАЗОЧНИК »

Опять хренота какая-то... Добился, чтобы работала программа. Решил еще один файлик вложить, в котором прописать макросы. Так вот, цепляю его на самом верху программного кода, где все библиотеки (инклуды), а потом в программе пишу макрос. сволочь жалуется, что для него это неизвестная команда...
Станислав
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение Gudd-Head »

Может, ошибка синтаксическая в названии команды? :)))
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3868
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение Engineer_Keen »

С инклудами бывает такой косяк когда что-то в нем поправил (добавил функцию), а в другом файле делаешь например ее вызов и при компиляции вылезает такая ошибка. Дело в том, что исправленный файл почему-то студией не сохранился на диск (приходится перед компиляцией сохранять все вручную). Почему такое иногда выскакивает пока не просек :dont_know:
Неправильно собранная из неисправных деталей схема нуждается в отладке и сразу не работает... (С)
Аватара пользователя
СКАЗОЧНИК
Идёт направо - песнь заводит, Налево - сказку говорит.
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение СКАЗОЧНИК »

Engineer_Keen писал(а):ошибка синтаксическая

Уже мильон раз проверил... :)))
Engineer_Keen писал(а):файл почему-то студией не сохранился на диск

Как это так? Я же в папке его смотрел. Он там есть. Я просто создал новый файл, в нем сделал макрос. Дал файлу название в "Сохранить как...", потом подключил его в главной программе. И в главной же программе делаю вызов макроса, а он мне хрен.. :kill:

Ептить!!! :kill: :evil: :facepalm: Пару раз презагрузил студию, пару раз сохранил. Теперь все работает... :kill:

Короче. Совет. В любой непонятной ситуации, ПЕРЕЗАГРУЖАЙ СТУДИЮ!! :))) :))) :)))
Станислав
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3868
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Re: Ассемблер (ASM) для AVR в вопросах и ответах

Сообщение Engineer_Keen »

СКАЗОЧНИК писал(а):Дал файлу название в "Сохранить как..."

Бывает что файл сохранил, потом что-то в нем подредактировал, а изменения перед компиляцией автоматически не сохранились, как результат вылезает ошибка при попытке задействовать измененную часть программы, вот я о чем. Но у вас скорее всего проблема не в этом.
Глюкавая студия у вас какая-то, то код жрет, то с сохранением проблемы :dont_know:
Последний раз редактировалось Engineer_Keen Пт янв 16, 2015 12:44:23, всего редактировалось 1 раз.
Неправильно собранная из неисправных деталей схема нуждается в отладке и сразу не работает... (С)
Ответить

Вернуться в «AVR»