Перейти к содержанию

2 и более USART порта & Atmel studio


3d_killer

Рекомендуемые сообщения

вот полный листинг теста

/*
 * GccApplication1.c
 *
 * Created: 05.10.2017 18:57:56
 * Author : user
 */ 
//Частота МК
#define  F_CPU 16000000UL
//Основные библиотеки
#include <avr/io.h>
#include <util/delay.h>
//Библиотека сторожевого таймера
#include <avr/wdt.h>
//Подключаем библиотеку прерываний
#include <avr/interrupt.h>

#define FOSC 16000000
// Clock Speed
#define BAUD 57600
#define MYUBRR FOSC/16/BAUD-1

void USART_Init(unsigned int ubrr)
{
	/*Set baud rate */
	UBRR1H = (unsigned char)(ubrr>>8);
	UBRR1L = (unsigned char)ubrr;
	UCSR1B = (1<<RXEN1)|(1<<TXEN1);
	/* Set frame format: 8data, 2stop bit */
	UCSR1C = (1<<USBS1)|(3<<UCSZ01);
}
void USART_Transmit( unsigned char data )
{
	/* Wait for empty transmit buffer */
	while ( !( UCSR1A & (1<<UDRIE1)) )
	;
	/* Put data into buffer, sends the data */
	UDR1 = data;
}
//*************************************************
//Прерывание по таймеру
//*************************************************
ISR( TIMER1_OVF_vect )
{
	PORTC^= (1>>0);
}



//void USART_Transmit( unsigned char data ) //Функция отправки данных
 //{
	// while ( !(UCSR1A & (1<<UDRE)) ); //Ожидание опустошения буфера приема
	 //UDR1 = data; //Начало передачи данных
// }


	
	
int main(void)
{
	//*************************************************
	//УСТАНОВКА ПОРТОВ
	//*************************************************
	DDRD |= 1>>3;
	PORTC &= ~(1>>3);
	
	
	
	//Установка порта на выход
	DDRC |= 1>>0;
	//Установка на порту 0
	PORTC &= ~(1>>0);
	//*************************************************
	
	USART_Init(MYUBRR);
	//*************************************************
	//Запуск сторожевого таймера
	//*************************************************
	wdt_enable(WDTO_2S);
	//*************************************************
	
	//*************************************************
	//Настройка USART
	//*************************************************
	
	
	//*************************************************
	//Настройка прерывания (ISR( TIMER1_OVF_vect ))
	//*************************************************
	//TCCR1B =(0<<CS12)|(0<<CS11)|(1<<CS10);//1
	//TCCR1B =(0<<CS12)|(1<<CS11)|(0<<CS10);//8
	//TCCR1B =(0<<CS12)|(1<<CS11)|(1<<CS10);//64
	TCCR1B =(1<<CS12)|(0<<CS11)|(0<<CS10);//256
	//TCCR1B =(1<<CS12)|(0<<CS11)|(1<<CS10);//1024
	TIMSK |= (1<<TOIE1);
	//Разрешаем глобальные прерывания
	sei();
	//*************************************************
   
   
   
   //*************************************************
   //Основной цикл программы
   //*************************************************
    while (1) 
    {
		USART_Transmit('d');
		//Инвертирование порта
		//PORTC^= (1>>0);
		_delay_ms(300);
		//USART_Transmit('2');
		//Сброс сторожевого таймера
		wdt_reset();
    }
}

 

Ссылка на комментарий
Поделиться на другие сайты

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. 

Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств. Подробнее параметры и результаты тестов новой серии PLM по ссылке.

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

отключил ничего не поменялось, смотрю на порте платой ардуины (монитор порта), плату подключил к этой через Rx Tx накрест, светодиод быстро помаргивает на плате ардуины в мониторе редко появляются квадратики

2017-10-06_17-56-21.jpg

Ссылка на комментарий
Поделиться на другие сайты

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Так одно же сообщение, а они должны валиться раз в секунду, понятно если скорость не та то будут эроглифы, а тут одно иногда проскочит

Ссылка на комментарий
Поделиться на другие сайты

45 minutes ago, 3d_killer said:

/* Set frame format: 8data, 2stop bit */ UCSR1C = (1<<USBS1)|(3<<UCSZ01);

Надо UCSZ10 и два стоп бита в терминальной программе желательно поставить м скорость

Ссылка на комментарий
Поделиться на другие сайты

Так одно же сообщение, а они должны валиться раз в секунду, понятно если скорость не та то будут эроглифы, а тут одно иногда проскочит
А что в качестве usb-uart адаптера используется?
Ссылка на комментарий
Поделиться на другие сайты

Там же встроенный usb com конвертор

Ну на ней адаптер который, цепляюсь тремя проводами, в программе которую вы сказали выбираю порт адаптера и скорость которую задал в программе

Ссылка на комментарий
Поделиться на другие сайты

51 минуту назад, snn_krs сказал:

Надо UCSZ10 и два стоп бита в терминальной программе желательно поставить м скорость

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

Ссылка на комментарий
Поделиться на другие сайты

12 минуты назад, BARS_ сказал:

Ээээ, вы переходите на Си, а вот в ардуйне как раз был C++...

Там примеров больше и не думаешь какие флаги где поставить есть куча библиотек

Ссылка на комментарий
Поделиться на другие сайты

Я ж вам говорил: берете образец кода для МК с единственным USART и дописываете единичку к РЕГИСТРАМ, а вы еще в имена битов полезли... Ну если ленитесь читать даташит, как именно биты поименованы, хотя бы просто делайте 1 в 1 то, что вам советуют. 

Для начала я бы рекомендовал разобраться, как связана у вас прошивка с исходниками - почему вдруг не прошивалось? Лично я такое впервые встречаю, чтобы строчки в программе, не вызывающие ошибку компиляции, каким-то чудом не давали прошивать МК! Разберитесь с чудесами, потом и реальными проблемами можно будет заняться.

Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют...

Ссылка на комментарий
Поделиться на другие сайты

5 часов назад, 3d_killer сказал:

//************************************************* //УСТАНОВКА ПОРТОВ //*************************************************

DDRD |= 1>>3;

Стрелочки сдвига - в обратную сторону.

Ссылка на комментарий
Поделиться на другие сайты

21 час назад, ARV сказал:

Я ж вам говорил: берете образец кода для МК с единственным USART и дописываете единичку к РЕГИСТРАМ, а вы еще в имена битов полезли... Ну если ленитесь читать даташит, как именно биты поименованы, хотя бы просто делайте 1 в 1 то, что вам советуют. 

Для начала я бы рекомендовал разобраться, как связана у вас прошивка с исходниками - почему вдруг не прошивалось? Лично я такое впервые встречаю, чтобы строчки в программе, не вызывающие ошибку компиляции, каким-то чудом не давали прошивать МК! Разберитесь с чудесами, потом и реальными проблемами можно будет заняться.

я такое сам в первый раз заметил на мк атмега 128, на других такого не было

Ссылка на комментарий
Поделиться на другие сайты

Могу вечером дать пример кода где у меня пашет два юарта . Мк Атмега128

    

Что может быть лучше в радиоэлектронике, чем программирование микроконтроллеров ?

Ссылка на комментарий
Поделиться на другие сайты

сегодня ковырялся, заменил файлы в AVRDUDE_PROG33 из WINAVR и начало прошиваться без ошибок, скетч из ардуины заработал.

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

Ссылка на комментарий
Поделиться на другие сайты

Вот :

    https://drive.google.com/file/d/0BxEy5lBKNE0NajVXdVIwY0pPOU0/view?usp=drivesdk

 

Посмотрел код , в нем прием в двух юартах реализован по прерыванию . А печатает в нулевой только . Но и во второй напечатать без проблем вообще :)

Что может быть лучше в радиоэлектронике, чем программирование микроконтроллеров ?

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...