Например TDA7294

Форум РадиоКот • Просмотр темы - CodeVision AVR в вопросах и ответах
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Пн окт 06, 2025 05:36:16

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 8366 ]     ... , , , 305, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Пн апр 07, 2014 15:40:00 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2119
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18409
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
Demon писал(а):
Не совсем подходит т.к. одну и туже библиотеку пользуют несколько МК одновременно

как такое возможно?! :shock:

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Пн апр 07, 2014 22:20:35 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 21
Рейтинг сообщений: 143
Зарегистрирован: Сб фев 21, 2009 13:11:40
Сообщений: 1900
Откуда: Москва
Рейтинг сообщения: 0
Так кто мешает определять контроллер в main.c, а проверку оставить в библиотеке?

_________________
Ставим плюсы: )


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Вт апр 08, 2014 06:13:32 
Нашел транзистор. Понюхал.

Зарегистрирован: Сб янв 20, 2007 20:44:33
Сообщений: 164
Откуда: Из закаулков вашей души
Рейтинг сообщения: 0
ARV писал(а):
Demon писал(а):
Не совсем подходит т.к. одну и туже библиотеку пользуют несколько МК одновременно

как такое возможно?! :shock:

Не совсем удачно выразился, имелось в виду что одну и ту же библиотеку использую в нескольких параллельных проектах.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Вт апр 08, 2014 06:18:37 
Нашел транзистор. Понюхал.

Зарегистрирован: Сб янв 20, 2007 20:44:33
Сообщений: 164
Откуда: Из закаулков вашей души
Рейтинг сообщения: 0
ibiza11 писал(а):
Так кто мешает определять контроллер в main.c, а проверку оставить в библиотеке?

Вчера вечером так и пытался сделать, но ничего не получалось - выходила ошибка "неизвестный" TxSize. С утра сообразил, что сначала надо объявить #define c типом МК, а затем только include подключать требуемую библиотеку.
Спасибо за консультацию все заработало.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Ср апр 09, 2014 12:56:15 
Первый раз сказал Мяу!

Зарегистрирован: Пн янв 16, 2012 09:19:44
Сообщений: 30
Рейтинг сообщения: 0
:shock: Коты, подскажите почему когда я пишу
UCSRA |= (1<<TXC);
printf("%с",UCSRA);


я принимаю в терминале 0x60 (0b01100000), т.е. флаг установлен хотя я в него записал 1?


Мне это надо выяснить поскольку надо по завершению передачи выключать передатчик RS485.
Вот такой код например:
case CmnWritePrefTmr:
if(CmndSymb[0]==Adres1){ //zashita ot sluchainoi zapisi wsex esli komanda pridet с 100m adresom
EETimeTmr1=((unsigned long int)CmndSymb[2])*845;
TimeTmr1=EETimeTmr1;
UCSRA |= (1<<TXC);//sbros flaga txc
Rs485SendEN=1;
printf("NewTimeTmr1=%lu /845",TimeTmr1);
while(!(UCSRA & (1<<TXC)));
Rs485SendEN=0;

};
break;


МК принимает все отлично а в терминале получаю 09.04.2014 16:55:14.00 [RX] - NewTimeTmr2=845 /8ÿ.
И так везде. Только

UCSRA |= (1<<TXC);//sbros flaga txc
Rs485SendEN=1;
putsf("1");
while(!(UCSRA & (1<<TXC)));
Rs485SendEN=0;

работает отлично.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Ср апр 09, 2014 17:42:06 
Встал на лапы

Зарегистрирован: Ср дек 29, 2010 21:19:03
Сообщений: 147
Рейтинг сообщения: 0
Wasily писал(а):
я принимаю в терминале 0x60 (0b01100000), т.е. флаг установлен хотя я в него записал 1?
....
UCSRA |= (1<<TXC);//sbros flaga txc
...
UCSRA |= (1<<TXC);//sbros flaga txc
....

1 - флаг установлен
0 - флаг сброшен


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Чт апр 10, 2014 04:26:18 
Первый раз сказал Мяу!

Зарегистрирован: Пн янв 16, 2012 09:19:44
Сообщений: 30
Рейтинг сообщения: 0
Не совсем понял, что вы хотели этим сказать.
Для сброса флага нужно в него записать 1 согласно даташиту.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Чт апр 10, 2014 08:37:38 
Первый раз сказал Мяу!

Зарегистрирован: Пн янв 16, 2012 09:19:44
Сообщений: 30
Рейтинг сообщения: 0
и как вынести функцию в другой файл?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Чт апр 10, 2014 08:47:54 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1432
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4584
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Цитата:
как вынести функцию в другой файл?
Скопировать функцию в буфер обмена, вставить текст в другой файл, удалить копируемый текст из первого файла :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Чт апр 10, 2014 09:35:30 
Первый раз сказал Мяу!

Зарегистрирован: Пн янв 16, 2012 09:19:44
Сообщений: 30
Рейтинг сообщения: 0
Да, а как его обозвать и правильно include?
Пробовал и .h и .c и все ругается. :(


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Чт апр 10, 2014 10:06:10 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2119
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18409
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
Wasily писал(а):
Да, а как его обозвать и правильно include?
Пробовал и .h и .c и все ругается. :(

уж сколько раз твердили миру... а воз и ныне там.

в .h файлы выносятся макроопределения и прототипы функций, определения типов и описания вешних (или глобальных) переменных. в этих файлах по-хорошему не должно быть никаких реализаций функций!!!

в .c файлы вставяются #include со всеми .h файлами, необходимыми для всех функций, которые реализуются или используются в этом модуле. здесь же определяются все переменные.

.c файлы должны компилироваться, т.е. дожны быть включены в проект.

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Чт апр 10, 2014 10:39:08 
Первый раз сказал Мяу!

Зарегистрирован: Пн янв 16, 2012 09:19:44
Сообщений: 30
Рейтинг сообщения: 0
Т.е. если я правильно понял то отдельно функцию которая будет вызываться из main неполучится?

я в main пишу
#include <stdio.h>
#include <mega8.h>
#include <delay.h>

и #include "readRx.c"

readRx.c добавляю в проект, там функция обработчик которая получает и передает в main. Но не выходит.

2) Вы как главный эксперт подскажите по главной проблеме с :shock:
UCSRA |= (1<<TXC);
printf("%с",UCSRA);

и ниже


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Чт апр 10, 2014 10:55:34 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2119
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18409
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
я даже разволновался: может, я пишу не по-русски? перечитал - вроде нет...

итак, разжевываю:

1. ваш проект состоит из 2 модулей main.c и readrx.c
2. оба этих файла вы добавили в проект
3. чтобы функции readrx.c были доступны в main.c вы обязаны создать readrx.h, в котором описать прототип вашей функции - не знаю, какая там она у вас.
4. в main.c вы пишите #include "readrx.h"
5. компилируете

повторяю: никакого инклюдирования сишных файлов быть не должно!!!!!!!!

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Чт апр 10, 2014 11:19:28 
Первый раз сказал Мяу!

Зарегистрирован: Пн янв 16, 2012 09:19:44
Сообщений: 30
Рейтинг сообщения: 0
Вот теперь понятно! огромное спасибо.

Еще подскажите по флагам TXC плз :beer:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Чт апр 10, 2014 14:09:04 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2119
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18409
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
Wasily писал(а):
Еще подскажите по флагам TXC плз :beer:

я не понял вашей проблемы.

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Чт апр 10, 2014 14:11:40 
Друг Кота
Аватар пользователя

Карма: 67
Рейтинг сообщений: 1060
Зарегистрирован: Чт сен 18, 2008 12:27:21
Сообщений: 19849
Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
ARV писал(а):
я не понял вашей проблемы.

Не сбрасывается флаг у него viewtopic.php?p=1980627#p1980627

_________________
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Измерить нннада?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Чт апр 10, 2014 14:15:07 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2119
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18409
Откуда: Новочеркасск
Рейтинг сообщения: 2
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
"не сбрасывается флаг" - это фигня непонятная. я вижу, что он выводит (неужели в USART?!) содержимое регистра и при этом он ждет, что в этом регистре не будет флага?!

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Чт апр 10, 2014 14:23:41 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 21
Рейтинг сообщений: 143
Зарегистрирован: Сб фев 21, 2009 13:11:40
Сообщений: 1900
Откуда: Москва
Рейтинг сообщения: 0
Wasily писал(а):
:shock: Коты, подскажите почему когда я пишу
UCSRA |= (1<<TXC);
printf("%с",UCSRA);

я принимаю в терминале 0x60 (0b01100000), т.е. флаг установлен хотя я в него записал 1?
попробуйте так:
Код:
uint8_t tmp;
...
UCSRA |= (1<<TXC);
tmp UCSRA;
printf("%с",tmp); 

_________________
Ставим плюсы: )


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Пт апр 11, 2014 04:37:37 
Первый раз сказал Мяу!

Зарегистрирован: Пн янв 16, 2012 09:19:44
Сообщений: 30
Рейтинг сообщения: 0
ARV писал(а):
uint8_t tmp;
...
UCSRA |= (1<<TXC);
tmp = UCSRA;
printf("%с",tmp); 

И так я делал, только переменная была temp. :))
После чип erase c флагами стало все ок!

Сейчас провел эксперимент очередной:

Если запустить такой код после reset (запускается после нажатии кнопки однократно):

Rs485SendEN=1;
printf("%c",UCSRA);
delay_us(550);
Rs485SendEN=0;

Получаем в первый раз 11.04.2014 09:58:25.68 [RX] - 0х20 что и должно быть!
После второго раза получаем 0х60 что тоже отлично, т.к. флаг не сбрасывался!

Но, как только убираю delay и ставлю while(!(UCSRA & (1<<TXC)));
приходит FF, т.е. передатчик раньше отключается до завершения передачи.
Если посылать длинную посылку то не приходят 2 последних символа.
В чем ошибка?


Последний раз редактировалось Wasily Пт апр 11, 2014 06:38:57, всего редактировалось 5 раз(а).

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Пт апр 11, 2014 04:38:12 
Первый раз сказал Мяу!

Зарегистрирован: Пн янв 16, 2012 09:19:44
Сообщений: 30
Рейтинг сообщения: 0
ARV писал(а):
"не сбрасывается флаг" - это фигня непонятная. я вижу, что он выводит (неужели в USART?!) содержимое регистра и при этом он ждет, что в этом регистре не будет флага?!


Да в USART через ADM485.


А в чем я ошибаюсь так уж сильно :dont_know:
Флаг TXC должен устанавливаться толко после того как последний байт вышел из UDR и нет новых на входе.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 8366 ]     ... , , , 305, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y