В этой теме будет обеспечена поддержка пользователей модуля.
Подробная информация по модулю на странице: [[OR-USB-UART]]
Все вопросы дальнейшей доработки модуля и почему были выбраны те или иные технические решения - в теме forum73/topic7419.html.
roboforum.ruТехнический форум по робототехнике. |
|
|
#--------------------------------------------------------------------
## Programmer
## ==========
## Avrdude programmer flags used by `make program`
##- AVR Dragon (default)
#PROGRAMMER = dragon_isp
#PROGRAMMER_PORT = usb
##- Bootloader
## AVR910 compatible w/ 115200 baud rate
#PROGRAMMER = avr109 -b115200
#PROGRAMMER_PORT = /dev/ttyUSB0
jeka писал(а):Пытаюсь прошить OR-AVR-M128-S. Вызываю avrdude вот например так -
-p m128 -c avr911 -P com3 -b 115200 -U flash:w:"C:\Users\Jeka\Desktop\Робототехника\ORFA\orfa_v0.8.2_or-avr-m128-s_master_bauto_pv1.1.hex":i -U signature:r:con:r -F -v
Получаю
avrdude.exe: error: buffered memory access not supported. Maybe it isn't
a butterfly/AVR109 but a AVR910 device?
jeka писал(а):Кто-нибудь сталкивался? Какие есть способы диагностики, чтобы определить почему неработает?
int TestInt=256;
uart_init();
stdout = stdin = &uart_str;
printf("Linetracer ready 1!\n Ohh, yeah!\n");
printf("This program created to test modified HXT900, you welcome!\nType me first int from which value I have to test:");
scanf ("%d",&TestInt);
printf("You choosed - %d\n",TestInt);
#include "defines.h"
#include <ctype.h>
#include <stdint.h>
#include <stdio.h>
#include <string.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#include "uart.c"
FILE uart_str = FDEV_SETUP_STREAM(uart_putchar, uart_getchar, _FDEV_SETUP_RW);
int main(void)
{
int TestInt=256;
uart_init();
stdout = stdin = &uart_str;
printf("Linetracer ready 1!\n Ohh, yeah!\n");
printf("This program created to test modified HXT900, you welcome!\nType me first int from which value I have to test:");
scanf ("%d",&TestInt);
printf("You choosed - %d\n",TestInt);
DDRC=0x20;//0010 0000
DDRD=0x30;//0011 0000
_delay_ms(1000);
//PWM, Phase and frequency correct, TOP=ICR1
TCCR1A=0xA0; //clear on up-counting, set on down-counting 1010 0000
TCCR1B=0x12; //Clock prescaler 1/8 0001 0010
ICR1=9216; //Set 50Hz frequency
//uint16_t baseA=(153*2+1)*23/10;
//uint16_t baseB=(153*2+1)*23/10;
///* тест сервы
uint16_t baseA=0;
uint16_t baseB=0;
OCR1A=baseA;
OCR1B=baseB;
DDRC=0xFF;
PORTC=0xFF;
int IsLED_C5_On=1;
//1050 1200
for (int i=200; i<500; i+=25)
{
baseA=i;
_delay_ms(250);
OCR1A=baseA;
printf("i=%d\n",i);
//OCR1B=baseA;
if (IsLED_C5_On==1) {PORTC=0x00;IsLED_C5_On=0;}else{PORTC=0xFF;IsLED_C5_On=1;}
}
baseA=0;
OCR1A=baseA;
OCR1B=baseA;
PORTC=0x00;
while(1==1)
{
} //Конец теста сервы*/
}
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7