Перейти к содержанию
    

xstyler

Участник
  • Постов

    114
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о xstyler

  • Звание
    Частый гость
    Частый гость
  • День рождения 10.11.1987

Контакты

  • ICQ
    Array

Информация

  • Город
    Array
  1. Xmega256A3U Bootloader

    Откопал сегодня на атмеле Serial_Boot, решил поделиться. http://www.atmel.com/Images/AVR2054.zip
  2. Xmega256A3U Bootloader

    Не понятно присутсвует или нет. А вы писали бутлодырь под данный камень?
  3. Xmega256A3U Bootloader

    Из даташита на Xmega
  4. Xmega256A3U Bootloader

    Добрый день. Поделитесь пожалуйста исходником bootloader под данный кристалл. Хочу немного видоизменить стандартный bootloader зашитый в xmega при изготовлении.
  5. Добрый день. Помогите определится с OPC сервером для опроса контроллера по 20 команде (Для чтения истории) по протоколу RS 485 Modbus RTU, с целью дальнейшего передачи информации в SCADA систему. На текущий момент в контроллере предусмотрен ответ 1 кадром(256 байт со служебной информацией) на 1 запрос. Размер памяти 1 мб. Чтобы считать весь архив нужно сделать 4000 запросов. Какой из опс серверов поддерживает перебор запросов (субзапросов)? PS 2 Moderator не знаю в какой топик повесить тему, поэтому написал здесь.
  6. ASM + Xmega128A3

    я думал что значение регистра GPIOR2 каким то чудом меняется и для этого решил сохранить его в r18. ........ rjmp m1 nop //****** Эти строки как мусор, я же уже согласился с этим. ret /////////// ........
  7. ASM + Xmega128A3

    Думаете? почему же тогда после in r18, grflag2 r18 = 0 ??? уже есть после замечаний m1: in r18,grflag2 // r18 все время равен 0, следовательно флаг grflag2.5 = 0 /////////////////// вот тут не понятно чего вы добивались. sbic grflag2,fmin // пропускаю и попадаю на nop-> rjmp RCALL letterd //////////////////////////////////////////////////////////////////////ОШИБКА исправлена // даже при пустом m1: nop nop rjmp m1 вываливаюсь на ресет rjmp m1;******************************* nop ret ///////////////////// ОШИБКА ??? Теоретически да. Но программа никогда не должна сюда попасть. Так что эти строки не важны 1. jtagiceII. 2. очистка памяти Еще раз говорю что этот ретурн не должен никогда происходить. он после мэйна никому не мешает, а без него программа вываливается из основного цикла main.
  8. ASM + Xmega128A3

    Думаете? почему же тогда после in r18, grflag2 r18 = 0 ??? уже есть после замечаний m1: in r18,grflag2 // r18 все время равен 0, следовательно флаг grflag2.5 = 0 /////////////////// вот тут не понятно чего вы добивались. sbic grflag2,fmin // пропускаю и попадаю на nop-> rjmp RCALL letterd /////////////////////////////////////////////////////////////////ОШИБКА исправлена // даже при пустом m1: nop nop rjmp m1 вываливаюсь на ресет rjmp m1;******************************* nop ret ////////////////// ОШИБКА ??? Теоретически да. Но программа никогда не должна сюда попасть. Так что эти строки не важны 1. jtagiceII. 2. очистка памяти Еще раз говорю что этот ретурн не должен никогда происходить. он после мэйна никому не мешает, а без него программа вываливается на след строки.
  9. ASM + Xmega128A3

    Строки ниже дают доступ на несколько секунд к изменению конфигурации. ldi rtmp,0xD8 out CPU_ccp,rtmp К тому же собака мне не нужна(должна быть выкл.), и в даташите написано, что она выдаст ресет только один раз или этот ресет надо дать вручную. Меня интересует как отладчик подхватывает строку rcall letterd, при gpior=0.
  10. ASM + Xmega128A3

    Похоже что именно это и просходит. Здесь происходит инициализация кварца. установка задержек. я на этот rjmp(rcall) letterd сейчас попадать не должен так как gpio.gpior2=0;
  11. ASM + Xmega128A3

    это пропустил сорри gzad16: lds rzad,kzad gzad160: lds r16,kzad gzad161: dec r16 brne gzad161 dec rzad brne gzad160 ret ;***************************************************************** letterd: // как ни странно но в эту функцию я тоже попадаю nop // хотя из условия выше я долже ее обходить ret
  12. ASM + Xmega128A3

    Добрый день. Решил написать какой-нить простенький код на асме под хмегу - и сходу попал на грабли: Программа из основного цикла все время вываливается на ресет. + вызов функции (rcall letterd) после сравнения битов. .include "ATxmega128A3def.inc" .equ fmin=5 .equ grflag2=GPIO_GPIOR2 .cseg ;**************************** INTERRUPT VECTORS***************************************** .org 0 jmp reset .org 0x0100;+++++++++++++++++++++++++++++++++++++++++++++++++++++ main: wdr ldi rtmp,0xD8 out CPU_ccp,rtmp clr rtmp sts WDT_CTRL,rtmp ; WDT OFF cli // думал причина в прерываниях..отключил.. не в них m1: in r18,grflag2 // r18 все время равен 0, следовательно флаг grflag2.5 = 0 sbic grflag2,fmin // пропускаю и попадаю на nop-> rjmp rjmp letterd // даже при пустом m1: nop nop rjmp m1 вываливаюсь на ресет rjmp m1;******************************* nop ret letterd: // как ни странно но в эту функцию я тоже попадаю nop // хотя из условия выше я долже ее обходить ret ;************** RESET ******* // стандартный набор для инициализации RESET: cli ldi r16,low(RAMEND) out CPU_SPL,r16 ldi r16,high(RAMEND) out CPU_sph,r16 clr r16 clr xh ldi xl,0xff res1: st x+,r16 cpi xh,high(ramend) brmi res1 ldi rtmp,0b01000111 sts OSC_XOSCCTRL,rtmp ldi rtmp,0b00001001 sts OSC_CTRL,rtmp ser rtmp sts kzad,rtmp call gzad16 lds rtmp,OSC_STATUS sbrs rtmp,3;XOSCRDY rjmp res2 ldi rtmp,0xD8 out CPU_ccp,rtmp res2: ldi rtmp,0b011 sts clk_ctrl,rtmp ;extern. CLK jmp main
  13. Память TWI

    Память 24512W6 При записи одного байта получаю АСК от памяти . При попытке прочитать адрес, куда был записан байт получаю его предыдущее значение. Когда читаю байт выше 0x07 получаю 255. Кто-нить сталкивался с подобным? ЗЫ: Если бы не работала запись то байт по адресу я читать не смог бы.
  14. Странности ХМеги

    Обратил внимание на разъем PDI.. Между 2 и 5 ножкой стоит резистор 15к. при неудачной попытке зашить код или прочитать сигнатуры при помощи программатора ножка 5 садится до уровня 1.7В PS подключаю программатор на ножке 3.2 В. подключаюсь студией к программатору 3.2В. А последствия как написано сверху. Еще один интересный момент: При первом подключении iceII могу делать любое действие писать/читать, но только один раз, потом ошибки. Отключаю программатор от студии, подключаюсь к нему заново и могу опять же сделать одно действие.
  15. Странности ХМеги

    А как тогда объяснить, почему после попытки чтения или удаления перестает читаться кристалл. Помогает потом только выкл/вкл.
×
×
  • Создать...