Сообщение от kib12
|
кроме настройки регистров организует поток вывода... работают команды printf и другие, флаг четности... хотелось бы малой кровью... в протеусе...
|
У меня там свои библиотеки (со своим синтаксисом, в данном случае от BoostC), которые тебя еще больше введут в заблуждение.
Я указал тебе на проблему... это даст возможность отладить в Протеусе. Делай со своими директивами макросами и функциями, если внутрь их залезть нельзя, то в нужном месте дополняй операторы руками.
Например.
При совместной работе на один порт сразу после
PHP код:
|
setup_dac(DAC_OUTPUT | DAC_VSS_VDD); //задаем режим DAC
|
выключаем его
PHP код:
|
daccon0 &=~(1‹‹DACEN) ;// отключили DAC
|
После применения #use rs232(uart1, baud=19200) пред включение dc_write(dc); добавь строки
PHP код:
|
rcsta&=~(1‹‹SPEN); //отключили USART
trisa.0 = 1; // перенастроили порт
daccon0 |=(1‹‹DACEN) ; включили DAC
|
Перед выдачей в USART
PHP код:
|
daccon0 &=~(1‹‹DACEN) ; //отключили DAC
rcsta|=(1‹‹SPEN); //включили USART
trisa.0 = 0; // порт на выдачу
|
и т.д.
Или по другому... При разных портах
#use rs232(uart1, baud=19200) сразу набираешь
PHP код:
|
apfcon|=(1‹‹TXCKSEL); // переназначили порт ТХ
trisa.0 = 1; // забрали порт из стандартной функции CCS
trisa.4 = 0; // порт на выдачу
|
В этом случае DAC работает в стандартном исполнении... Главная проблема это то что после использования apfcon порт А0 оставался настроенным на выдачу (из под #use rs232(...))
И все....