Давно я этим занимался, подзабыл уже.
Пришлось вспоминать и заново расчитать константы.
Действительно есть несколько ошибок и неточностей.
Правильно будет так:
- - - Добавлено - - -Код:;=================================================== org 7B8h ; таблица настройки скорости RS232 ; N = (Fosc/192)/Baud SMOD=1 ; N = (Fosc/384)/Baud SMOD=0 tab_spd: if ft_07 ; Под кварц 7 Мгц (с ошибкой назначения скорости) ; N db 1-1+80h ;1 36458(115200) SMOD=1 db 1-1+80h ;2 36458(57600) SMOD=1 db 1-1+80h ;3 36458(38400) SMOD=1 db 1-1 ;4(6) 18229(19200) SMOD=0 db 4-1+80h ;5(12) 9114(9600) SMOD=1 db 4-1 ;6(24) 4557(4800) SMOD=0 db 15-1+80h;7(48) 2430(2400) SMOD=1 db 15-1 ;8(98) 1215(1200) SMOD=0 endif if ft_11 ; Под кварц 11.0592 (точная установка скорости) ; N db 1-1+80h ;1 57600(115200) SMOD=1 db 1-1+80h ;2 57600 SMOD=1 db 1-1 ;3 28800 SMOD=0 db 3-1+80h ;4(6) 19200 SMOD=1 db 3-1 ;5(12) 9600 SMOD=0 db 6-1 ;6(24) 4800 SMOD=0 db 12-1 ;7(48) 2400 SMOD=0 db 24-1 ;8(98) 1200 SMOD=0 endif ;----------------------------------------------
Исправленный исходник и прошивки для двух частот во вложении.
at32m2.zip




Ответить с цитированием