Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 10.12.2019, 20:47  
kib12
Частый гость
 
Регистрация: 01.03.2008
Сообщений: 31
Сказал спасибо: 2
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
kib12 на пути к лучшему
По умолчанию PIC12F1840 Использование UART совместно с DAC

Необходимо одновременно использовать DAC и хардварный UART в 12F1840.
Если переключить через APFCON выход UART RA0 на RA4, то вывод происходит корректно в RA4, но вывод RA0 не освобождается и стоит в высоком уровне. Соответственно, вывод в DAC (RA0) не происходит (вместо размаха пилы в 5 вольт есть размах 0,25 вольта около 5 вольт).
Если убрать #use rs232(uart1, baud=19200) то вывод в DAC происходит корректно.

Как решить эту задачу?
Реклама:
kib12 вне форума  
Непрочитано 10.12.2019, 21:07  
kib12
Частый гость
 
Регистрация: 01.03.2008
Сообщений: 31
Сказал спасибо: 2
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
kib12 на пути к лучшему
По умолчанию Re: PIC12F1840 Использование UART совместно с DAC

Здесь тестовый код.


#include ‹12F1840.h›
#fuses NOMCLR INTRC_IO PLL_SW
#device ADC = 10 // 8-bit ADC resolution
#use delay(clock=32000000)
#use rs232(uart1, baud=19200)
#BYTE APFCON=0X11D #BIT RXDTSEL=APFCON.7 #BIT TXCKSEL=APFCON.2

int8 dc; //будем выводить в DAC
void main(void)
{
TXCKSEL=1; //Переключаем выход UART с RA0 на RA4
printf("Privet\r\n"); //Выходит в RA4.
delay_ms(100);

setup_dac(DAC_OUTPUT | DAC_VSS_VDD);

dc = 0; //начальное значение для DAC

while(TRUE) //Делаем пилу на RA0
{
dc_write(dc);
if(dc++›31)
dc=0;
delay_us(10);
}
}


Пилы нет.
Если убрать #use rs232... и printf... то пила есть.
kib12 вне форума  
Непрочитано 11.12.2019, 03:00  
j-Roger
Гражданин KAZUS.RU
 
Регистрация: 17.06.2008
Адрес: Украина
Сообщений: 679
Сказал спасибо: 362
Сказали Спасибо 753 раз(а) в 358 сообщении(ях)
j-Roger на пути к лучшему
По умолчанию Re: PIC12F1840 Использование UART совместно с DAC

Сообщение от kib12 Посмотреть сообщение
Как решить эту задачу?
Думается, чтобы не зависеть от реализации всяких сомнительных конструкций типа #use (...) и иже с ними,
выкинуть их и строго по даташиту от производителя (на регистрах) настроить модули EUSART, DAC и регистр TRIS. По крайней мере, тогда все будет под прямым контролем.
j-Roger вне форума  
Сказали "Спасибо" j-Roger
kib12 (11.12.2019)
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программирование программатором STERH 007 PIC микроконтроллеров ispitatel1 Песочница (вопросы новичков) 4 17.04.2017 17:18
Помогите разобраться с UART masterpc Микроконтроллеры, АЦП, память и т.д 10 13.02.2007 17:49


Часовой пояс GMT +4, время: 08:14.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot