Перейти к блогу GetChip.net - блог        JilTE[1] - в разработке     Модификации устройств - модификации

 
Текущее время: 22 окт 2019, 17:33

Часовой пояс: UTC + 3 часа [ Летнее время ]



Начать новую тему Ответить на тему  [ Сообщений: 15 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: USART PWM
СообщениеДобавлено: 14 апр 2012, 20:15 
Не в сети

Зарегистрирован: 17 окт 2011, 20:16
Сообщения: 70
Больше нечем помоч немогу :zomg:


Вложения:
c.zip [113.24 КБ]
Скачиваний: 172
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: USART PWM
СообщениеДобавлено: 14 апр 2012, 20:55 
Не в сети

Зарегистрирован: 17 окт 2011, 20:16
Сообщения: 70
Нет вру ;) Советую писать в CodeVisionAVR там уже встроенны функции для работы со строками и UART, главное разбратся с Help-ом он только на английском


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: USART PWM
СообщениеДобавлено: 15 апр 2012, 01:13 
Не в сети

Зарегистрирован: 12 апр 2012, 18:41
Сообщения: 8
Вообщем спасибо всем зделал так и работае изумительно

Код:
void PWM_Transmit()//функция для передачи  OCR1 в ШИМ
{
   static char * str;//переменная для масива строк
   int count = 0;//переменная для количества символов
   while (count < 3)//делаем цикл в 3 раза так как моё число не превышает 999 то мне хватает
   {
     while ( !(UCSRA & (1<<RXC)) ); //ждем пока не будет символа
     str=(char*) realloc(str, count); //выделяем память под символ
     *(str+count)=UDR;               //пишем полученный символ в масив
    count++;                       //индексируем масив
   }   
   OCR1B = (int)atoi(str);//в итоге говорим что OCR1B = полученный масив str преобразованный из строчного в числовой (int)atoi(str)
   USART_Transmit('j');//так для отладки
}
int main( void ) //Главная функция
{
USART_Init(12); //Скорость соединения  115200
init_PWM();//инсталируем ШИМ
while (1)
  {     
    if (UDR == 'h')//если получаем h
        {
        PWM_Transmit();//то переходим сюда
        }
   //отправляем  в терминал h511 можно и h001 и получаем на выходе то что и требовалось!!!
      
  } 
}

Я понимаю что вы будете говорит за всякие буфера и всё такое но мне нужно было чтоб работало быстро и чётко!!!


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: USART PWM
СообщениеДобавлено: 15 апр 2012, 01:16 
Не в сети

Зарегистрирован: 12 апр 2012, 18:41
Сообщения: 8
Streetstyle
Спасибо конечно но мне нужно было управлять нагрузкой с пк
я уже разобрался


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: USART PWM
СообщениеДобавлено: 15 апр 2012, 01:18 
Не в сети

Зарегистрирован: 12 апр 2012, 18:41
Сообщения: 8
hitalik писал(а):
Streetstyle писал(а):
Выглядит ужасно !!! :shock:

PWM = (int)str;//преобр Как я пнял :crazy: этим ты хочмш преобразовать строку к примеру "25" в число 25 если да то это ошибка !
Для преобразования строки в число нужна функчия atoi() из библиотеки stdlib.h :cool:

Вы правы, я всю ночь сидел и думал, и пришол к выводу что ШИМ получает только первый сивол мною переданный, и когда я увидел ваше сообшение всё столо на свой места но atoi() не работает с сиволом ему нужна строка мне нужен буфер как я понял помогите с этим!!!

вам огромное спасибо Ваше замечание было решающие...


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 15 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

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


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

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB