morkot37
|
|
1 | |
ATmega328P16.06.2015, 14:20. Показов 7410. Ответов 5
Метки нет (Все метки)
Добрый день! Тщетно пытаюсь настроить UART в Proteus 7.0.
Код
#include <avr/io.h> #define F_CPU 8000000UL void UARTInit(void) { ///*Set baud rate */ UBRR0H = 0; UBRR0L = 51; UCSR0B |= (1<<RXEN0)|(1<<TXEN0); UCSR0C |= (1<<UCSZ01)|(1<<UCSZ00); //8 bit, 1 stop bit } void UARTSend(uint8_t data) { if(UCSR0A & (1<<UDRE0)) { UDR0 = data; } } int main() { UARTInit(); // initiotyzotion UART while(1){ // infymity circle UARTSend(7); } return 0; } В Proteus 7 контроллер настроил как "Int. RC Osc. 8Mhz", som-порт стандартно 9600, 1 стоповый... |
16.06.2015, 14:20 | |
Ответы с готовыми решениями:
5
Atmega328P atmega328p и bootloader Atmega328P USART ATMEGA328P и математика |
0 / 0 / 0
Регистрация: 06.06.2011
Сообщений: 2,514
|
|
16.06.2015, 15:56 | 2 |
CLKPR
0
|
morkot37
|
|
16.06.2015, 16:15 | 3 |
Сообщение от _pv
|
0 / 0 / 0
Регистрация: 07.09.2017
Сообщений: 2
|
|
15.10.2015, 11:41 | 4 |
Помогите новичку. Какую частоту надо прописывать в дефайне F_CPU - с учетом фьюза CKDIV8 и предделителя?
0
|
0 / 0 / 0
Регистрация: 15.06.2012
Сообщений: 3,097
|
|
15.10.2015, 15:36 | 5 |
В F_CPU надо прописать реальную частоту клока процессора после предделителя. Если фьюз CKDIV8 установлен, то по сбросу предделитель будет настроен в режим деления на 8.
0
|
0 / 0 / 1
Регистрация: 27.01.2010
Сообщений: 3,435
|
|
15.10.2015, 19:54 | 6 |
(может не в тему) а еще нужно не забывать, что хотя по пинам ATmega8 & 328 идентичны - в программном отношении есть тонкости, например, имена регистров разные.
0
|
15.10.2015, 19:54 | |
15.10.2015, 19:54 | |
Помогаю со студенческими работами здесь
6
Проблема с Atmega328P Проблема с прерываниями на ATMega328P-PU Atmega328P, UART, Assembler Стал глючить AtMega328p Atmega328P CLK 62.5кГц. Atmega328p не работает PORTC??? Тактовый генератор и ATMEGA328P-PU Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |