Например TDA7294

Форум РадиоКот • Просмотр темы - ATmega32 вывод информации через COM порт
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Ср авг 06, 2025 21:09:27

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


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



Форум закрыт Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 79 ]    , , , 4
Автор Сообщение
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт июл 10, 2009 09:51:42 
Сверлит текстолит когтями
Аватар пользователя

Карма: 22
Рейтинг сообщений: 81
Зарегистрирован: Пн дек 08, 2008 10:58:48
Сообщений: 1262
Откуда: Винница
Рейтинг сообщения: 0
Класс брал отсюда
http://www.ishodniki.ru/base/Cpp/cpp_cserialport.zip
Исходники


Вложения:
asu.zip [43.33 KiB]
Скачиваний: 218
Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вс июл 12, 2009 16:08:50 
Поставщик валерьянки для Кота

Карма: 11
Рейтинг сообщений: 58
Зарегистрирован: Пт окт 31, 2008 09:38:55
Сообщений: 1957
Откуда: Одесса
Рейтинг сообщения: 0
Неа... ни пахаить...у меня нету половины всяких либов и lkk чтоб скомпилить проект...да и просто класс сериалки беру создаю откруваю на 230400 и меня снова куда-то далеко посылають :( жееееесть....(


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega32 вывод информации через COM порт
СообщениеДобавлено: Чт ноя 18, 2010 07:47:03 
Встал на лапы

Зарегистрирован: Вс авг 01, 2010 16:05:25
Сообщений: 134
Рейтинг сообщения: 0
Здравствуйтею. Вот такое дело изучаю WinAVR после CVAVR

#include <avr/interrupt.h> // прерывание
#include <avr/io.h> // библиотека I/O
#include <util/delay.h> // библиотеки пауз
#include <stdio.h>
#include <avr/pgmspace.h>

#define kn1 (PINC & (1<<0))

void proba (void)
{
if(kn1==0)
{
printf("%3u\r",35);
while(kn1==0);
_delay_ms(50);
}
int main(void)
{..........
...........
}
while (1)
{ proba();}
Это вкрадце. Пытаюсь просто при нажатии кнопки выдовала 35. В CVAVR работает,а WinAVR нет чё не так подскажите,симулировал на AVRstudio+PROTEUS. Спасибо.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega32 вывод информации через COM порт
СообщениеДобавлено: Чт ноя 18, 2010 08:38:31 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2116
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18403
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
TICLIR писал(а):
В CVAVR работает,а WinAVR нет чё не так подскажите,симулировал на AVRstudio+PROTEUS.

а вы вывод-то в UART определили самостоятельно? WinAVR не делает этого за вас! лично я использую такой модуль (см. вложение) - просто подключите его к проекту и в его хидере укажите требуюемую скорость связи и другие параметры, что вам потребуются... после этого printf() будет выводить в USART автоматически.


Вложения:
000.rar [1.66 KiB]
Скачиваний: 252

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

Мой уютный бложик... заходите!
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega32 вывод информации через COM порт
СообщениеДобавлено: Пт ноя 19, 2010 05:02:47 
Встал на лапы

Зарегистрирован: Вс авг 01, 2010 16:05:25
Сообщений: 134
Рейтинг сообщения: 0
Цитата:
а вы вывод-то в UART определили самостоятельно?

Я понимаю так,в регистре UCSRB при установке бита TXEN,вывод TXD становится выходом
UART.Или я что то не догоняю.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega32 вывод информации через COM порт
СообщениеДобавлено: Пт ноя 19, 2010 09:33:50 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2116
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18403
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
TICLIR писал(а):
Цитата:
а вы вывод-то в UART определили самостоятельно?

Я понимаю так,в регистре UCSRB при установке бита TXEN,вывод TXD становится выходом
UART.Или я что то не догоняю.
"вывод" - это я имел ввиду "процесс вывода байта", а не режим работы ножки МК :) WinAVR работает в расчете на то, что программист сам должен сделать функцию вывода 1 байта (куда угодно и как угодно), а уж остальные задачи библиотека stdio берет на себя. и я вам дал пример, как это надо (можно) сделать.

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega32 вывод информации через COM порт
СообщениеДобавлено: Пт ноя 19, 2010 18:32:07 
Встал на лапы

Зарегистрирован: Вс авг 01, 2010 16:05:25
Сообщений: 134
Рейтинг сообщения: 0
ARV Спасибо, буду пробовать. Подскажите что за переменные такие со звёздочкой
*cp, *cp2;*rxp;FILE *stream, uint8_t count,после cvavr так всё трудно понимается.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega32 вывод информации через COM порт
СообщениеДобавлено: Пт ноя 19, 2010 22:27:35 
Ум, честь и совесть. И скромность.
Аватар пользователя

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

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega32 вывод информации через COM порт
СообщениеДобавлено: Вс ноя 21, 2010 16:55:47 
Встал на лапы

Зарегистрирован: Вс авг 01, 2010 16:05:25
Сообщений: 134
Рейтинг сообщения: 0
ARV
Цитата:
лично я использую такой модуль (см. вложение) - просто подключите его к проекту и в его хидере укажите требуюемую скорость связи и другие параметры, что вам потребуются... после этого printf() будет выводить в USART автоматически.

Большое Спасибо. Заработало. Долго не мог понять куда чё подключать. А принимать данные с компа будет?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega32 вывод информации через COM порт
СообщениеДобавлено: Вс ноя 21, 2010 17:06:49 
Ум, честь и совесть. И скромность.
Аватар пользователя

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

Большое Спасибо. Заработало. Долго не мог понять куда чё подключать. А принимать данные с компа будет?

для приема надо добавить функцию ввода байта, однако, с этим не все так просто: стандартные функции ввода из stdlib.h работают по ожиданию, т.е. "зависают" до тех пор. пока не получат то, что хотят. так что с вводом надо извращаться...

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega32 вывод информации через COM порт
СообщениеДобавлено: Сб ноя 27, 2010 18:58:23 
Встал на лапы

Зарегистрирован: Вс авг 01, 2010 16:05:25
Сообщений: 134
Рейтинг сообщения: 0
ARV писал(а):
для приема надо добавить функцию ввода байта, однако, с этим не все так просто: стандартные функции ввода из stdlib.h работают по ожиданию, т.е. "зависают" до тех пор. пока не получат то, что хотят. так что с вводом надо извращаться...

А можно какой примерчик, что бы предстевление иметь, а то DEMO ну не чё понять не могу.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega32 вывод информации через COM порт
СообщениеДобавлено: Вс ноя 28, 2010 20:08:43 
Встал на лапы

Зарегистрирован: Вс авг 01, 2010 16:05:25
Сообщений: 134
Рейтинг сообщения: 0
Вроде чё то получается, а вот можно как то преобразовать(представить) ASCII-код в целое число для того что бы можно было как то их обрабатывать и отображеть зажиганием светододов, или это глупость.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega32 вывод информации через COM порт
СообщениеДобавлено: Вс ноя 28, 2010 20:36:37 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2116
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18403
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
TICLIR писал(а):
Вроде чё то получается, а вот можно как то преобразовать(представить) ASCII-код в целое число для того что бы можно было как то их обрабатывать и отображеть зажиганием светододов, или это глупость.
функция atoi вам в помощь :)

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega32 вывод информации через COM порт
СообщениеДобавлено: Вс ноя 28, 2010 20:42:26 
Опытный кот

Карма: 5
Рейтинг сообщений: 0
Зарегистрирован: Вс янв 17, 2010 15:32:19
Сообщений: 701
Откуда: Курган
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
если надо преобразовать одну цифру, то достаточно вычеть из кода 0x30 (48). если более 1 разряда, то как сказал ARV.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega32 вывод информации через COM порт
СообщениеДобавлено: Вт ноя 30, 2010 17:30:30 
Встал на лапы

Зарегистрирован: Вс авг 01, 2010 16:05:25
Сообщений: 134
Рейтинг сообщения: 0
ARV писал(а):
функция atoi вам в помощь

Спасибо. А вот как её оформить? Что то пробовал всяко, но ни как.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega32 вывод информации через COM порт
СообщениеДобавлено: Вт ноя 30, 2010 17:47:07 
Опытный кот

Карма: 5
Рейтинг сообщений: 0
Зарегистрирован: Вс янв 17, 2010 15:32:19
Сообщений: 701
Откуда: Курган
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
TICLIR писал(а):
Спасибо. А вот как её оформить? Что то пробовал всяко, но ни как.

дык так
Код:
char *number = "128";
int n = atoi(number);


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega32 вывод информации через COM порт
СообщениеДобавлено: Вт ноя 30, 2010 19:10:30 
Встал на лапы

Зарегистрирован: Вс авг 01, 2010 16:05:25
Сообщений: 134
Рейтинг сообщения: 0
TICLIR писал(а):
char *number = "128";int n = atoi(number);

Это и всё? Никаких заголовочных файлов не надо?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega32 вывод информации через COM порт
СообщениеДобавлено: Вт ноя 30, 2010 19:17:28 
Опытный кот

Карма: 5
Рейтинг сообщений: 0
Зарегистрирован: Вс янв 17, 2010 15:32:19
Сообщений: 701
Откуда: Курган
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
надо конечно
Код:
#include <stdlib.h>


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega32 вывод информации через COM порт
СообщениеДобавлено: Пт дек 10, 2010 17:16:53 
Встал на лапы

Зарегистрирован: Вс авг 01, 2010 16:05:25
Сообщений: 134
Рейтинг сообщения: 0
Доброе время суток! Может кто сталкивался с таким делом.
Отправляю данные с компа на контроллер контр дожен ответить и он отвечает но зацикливается,и ни как не могу исправить это дело вот. Проверял на протеусе всё чётко. ПРограмма для проверки COM Port Toolkit 3.7 да впрочем и другие программы так же работают, а зто отрывок
#include <stdlib.h>
#include <avr/interrupt.h> // прерывание
#include <stdio.h> // ввод вывод в UART
#include "com_io.h"
#include "com_io.c"
#include <avr/io.h> // библиотека I/O
#include <util/delay.h> // библиотеки пауз stdlib
int tr=0;
ISR(USART_RXC_vect) // USART, Rx Complete
{ scanf("%d",&tr);
printf("summa=%3u\n",tr);
}
int main(void)
UCSRA=0x00;
UCSRB=0x98;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x19;
sei(); // глобальное разрешение прерываний
while (1)


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Форум закрыт Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 79 ]    , , , 4

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


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

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


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

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


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