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

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

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

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

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

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


 
Опции темы
Непрочитано 25.11.2012, 21:27  
Prototup
Прописка
 
Аватар для Prototup
 
Регистрация: 07.05.2008
Адрес: Москва
Сообщений: 231
Сказал спасибо: 26
Сказали Спасибо 54 раз(а) в 19 сообщении(ях)
Prototup на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

Сообщение от Eddy71 Посмотреть сообщение
Я когда-то делал вот так:
ОК! Попробую, я кажется за сегодня почти добил свою прогу.
Реклама:
Prototup вне форума  
Непрочитано 06.12.2012, 15:31  
Old_Monster
Прописка
 
Регистрация: 14.02.2010
Адрес: СССР
Сообщений: 286
Сказал спасибо: 141
Сказали Спасибо 51 раз(а) в 43 сообщении(ях)
Old_Monster на пути к лучшему
Вопрос Re: Изучение PIC C Compiler(CCS C)

Доброго времени суток.
Столкнулся с чЁткой непоняткой: после выключения аппаратного CCP1(PWM) - нога, которую PWM дергал остается в неопределенном положении. Т.е. вообще-то, в определенном - если в момент setup_ccp1(CCP_OFF);
был высокий уровень - таковой и остается.
output_low(pin_a2); - не помогает.

12f1822
Код:
void main()
{
	setup_timer_2(T2_DIV_BY_4,39,1);      //5.0 us overflow, 5.0 us interrupt  //200kHz*50%
	setup_ccp1(CCP_PWM);
	set_pwm1_duty((int16)90);              
	setup_comparator(NC_NC);
	setup_oscillator(OSC_8MHZ|OSC_PLL_ON,0);
	while(TRUE)
	{
		delay_us(64);
		setup_ccp1(CCP_OFF);
		output_low(pin_a2);
		delay_us(64);
		setup_ccp1(CCP_PWM);
	}
}
Кто сталкивалcя, как ПРАВИЛЬНО побороть? ouput_float не предлагать. Должен быть штатный способ...
Old_Monster вне форума  
Непрочитано 06.12.2012, 15:56  
Eddy71
Почётный гражданин KAZUS.RU
 
Аватар для Eddy71
 
Регистрация: 22.02.2008
Адрес: Ukraine, рядом с Полтавой
Сообщений: 9,700
Сказал спасибо: 5,497
Сказали Спасибо 25,124 раз(а) в 5,642 сообщении(ях)
Eddy71 на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

Предлагаю:
a) убедиться, что нога ШИМа действительно А2
б) попробовать директиву #USE FIXED_IO в начале программы
в) вспомнить о директиве set_tris_a
г) если ничего не помогло глянуть листинг компиляции
Eddy71 вне форума  
Непрочитано 06.12.2012, 18:15  
Old_Monster
Прописка
 
Регистрация: 14.02.2010
Адрес: СССР
Сообщений: 286
Сказал спасибо: 141
Сказали Спасибо 51 раз(а) в 43 сообщении(ях)
Old_Monster на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

а) да. Генерация идёт - тестирую в протеусе
б) Эффект тот-же
в) Нет необходимости - смотрел отладку, между и во время setup_ccp1(CCP_OFF); output_low(pin_a2);
трис установлен на выход
г) чего глянуть? Это чтоль:
Код:
Executing: "C:\Program files\Picc\CCSC.exe" +FM "1822.PWM.c" I+="C:\Program Files\PICC\devices;C:\Program Files\PICC\devices"  +DF +LN +T +A +M +Z +Y=9 +EA
      Memory usage:   ROM=4%      RAM=4% - 16%
      0 Errors,  0 Warnings.
Build Successful.
вот еще кусок кода:
Код:
14:                		setup_ccp1(CCP_OFF);
   039    30F0     MOVLW 0xf0
   03A    0025     MOVLB 0x5
   03B    0593     ANDWF 0x13, F
15:                		output_low(pin_a2);
   03C    0021     MOVLB 0x1
   03D    110C     BCF PORTA, 0x2
   03E    0022     MOVLB 0x2
   03F    110C     BCF PORTA, 0x2
Дело в том, что мне не удалось найти в даташите определение конечного состояния выхода ССР при его выключении. И как бэ неважно. Но смущает сочетание правильно установленного триса и отсутствие реакции на установку на пине нуля. Вообще, такое поведение ноги с PWM скорее правило - уже встречался. Но как его выключить?!

Вот отладка в картинках - 4 шага. Может, я чего-то не замечаю?
Нажмите на изображение для увеличения
Название: 1822-1.png
Просмотров: 54
Размер:	23.1 Кб
ID:	41106
Нажмите на изображение для увеличения
Название: 1822-2.png
Просмотров: 42
Размер:	22.9 Кб
ID:	41107
Нажмите на изображение для увеличения
Название: 1822-3.png
Просмотров: 49
Размер:	23.1 Кб
ID:	41108
Нажмите на изображение для увеличения
Название: 1822-4.png
Просмотров: 47
Размер:	22.9 Кб
ID:	41109
Old_Monster вне форума  
Непрочитано 06.12.2012, 18:31  
xDriver
Частый гость
 
Аватар для xDriver
 
Регистрация: 01.03.2008
Сообщений: 37
Сказал спасибо: 3
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
xDriver на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

Добавьте перед выключением модуля
Код:
set_pwm1_duty(0);
я бы сделал так
Код:
void main()
{
	setup_timer_2(T2_DIV_BY_4,39,1);      //5.0 us overflow, 5.0 us interrupt  //200kHz*50%
	setup_ccp1(CCP_PWM);
	set_pwm1_duty((int16)90);              
	setup_comparator(NC_NC);
	setup_oscillator(OSC_8MHZ|OSC_PLL_ON,0);
	while(TRUE)
	{
		delay_us(64);
		set_pwm1_duty(0)
		delay_us(64);
		set_pwm1_duty((int16)90); 
	}
}
зачем включать выключать сам модуль ?
xDriver вне форума  
Непрочитано 06.12.2012, 18:46  
Old_Monster
Прописка
 
Регистрация: 14.02.2010
Адрес: СССР
Сообщений: 286
Сказал спасибо: 141
Сказали Спасибо 51 раз(а) в 43 сообщении(ях)
Old_Monster на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

ММММ.... Вариант конечно.. Но как-то не так. Костыль, по большом счету. Надо понять логику этого шайтан-девайса, иначе это уже не написание программы, а брут-форс какой-то...
Конкретно в этом устройстве кроме шима нога ничем не занята, но случаи бывают разные.
Похоже, заморочка в выходном каскаде ноги, но где трабл - пока не понял. Полезу еще еррату почитаю...
Old_Monster вне форума  
Непрочитано 06.12.2012, 19:29  
Eddy71
Почётный гражданин KAZUS.RU
 
Аватар для Eddy71
 
Регистрация: 22.02.2008
Адрес: Ukraine, рядом с Полтавой
Сообщений: 9,700
Сказал спасибо: 5,497
Сказали Спасибо 25,124 раз(а) в 5,642 сообщении(ях)
Eddy71 на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

Листинг в асме мне нравится. Наверно протеус недопонимает что-то. Конечно, не в таком месте, но уже нарывался на разность моделируемого и реального устройств. Я б в железе попробовал. Может и нет бага на самом деле?
Eddy71 вне форума  
Непрочитано 06.12.2012, 19:57  
Old_Monster
Прописка
 
Регистрация: 14.02.2010
Адрес: СССР
Сообщений: 286
Сказал спасибо: 141
Сказали Спасибо 51 раз(а) в 43 сообщении(ях)
Old_Monster на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

хм...Насколько я помню - в железе тоже самое было. С него моё удивление и началось. Но вроде на 1936,или на 1824, не помню.. Попробую на 1822.
Old_Monster вне форума  
Непрочитано 06.12.2012, 23:21  
Eddy71
Почётный гражданин KAZUS.RU
 
Аватар для Eddy71
 
Регистрация: 22.02.2008
Адрес: Ukraine, рядом с Полтавой
Сообщений: 9,700
Сказал спасибо: 5,497
Сказали Спасибо 25,124 раз(а) в 5,642 сообщении(ях)
Eddy71 на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

Вспомнил. У меня чудеса были с моделированием модуля захвата (ССР) на 16ф887. Я сперва грешил на то, что чип слишком ранней ревизии (думал баг в силиконе), затем привезли без буковок, нормальный - те же чудеса. Потом понял, что чип работает верно, а протеус на 1 то ли больше то ли меньше считал (уже не помню).
Eddy71 вне форума  
Непрочитано 07.12.2012, 11:01  
welcome61
Почётный гражданин KAZUS.RU
 
Аватар для welcome61
 
Регистрация: 11.06.2006
Адрес: 51° 46′ 0″ N, 55° 6′ 0″ E
Сообщений: 1,975
Сказал спасибо: 370
Сказали Спасибо 1,725 раз(а) в 706 сообщении(ях)
welcome61 на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

Сообщение от Eddy71 Посмотреть сообщение
Вспомнил. У меня чудеса были .........
Я в свое время также наглотался "ЧУДЕС" от Протеуса и теперь к нему не подхожу.
Сколько времени и нервов потрачено на попытках разобраться в том, почему "на столе" макет работает по другому, чем в ПРотеусе!!!

Макетки, отладчики и другое "железо" - мое ИМХО.
welcome61 вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
i2c+ccs pic Gladkih Микроконтроллеры, АЦП, память и т.д 9 18.04.2016 22:17
PIC BASIC PRO Compiler 2.47 dosikus Proteus, KiCAD и другие ECAD 27 05.12.2009 05:48
изучение IAR AVR C compiler granel Микроконтроллеры, АЦП, память и т.д 0 10.10.2008 20:45
PIC C Compiler PCWH458 sergxxx Микроконтроллеры, АЦП, память и т.д 9 23.09.2008 18:25
Не включается дебаггер в CCS C Compiler BigMazzi Микроконтроллеры, АЦП, память и т.д 4 19.09.2008 13:34


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


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