Форум

Радиолюбительский форум.

Если у Вас возникли вопросы, задавайте их на форуме.

В сети

Пользователей: 213
Из них просматривают:
Аналоги: 102. Даташиты: 27. Инструкции: 1. Новости: 25. Остальное: 2. Партнёры: 1. Программы: 2. Профиль пользователя: 28. Форум: 25.
Участников: 2
Гостей: 211

Google , Яндекс , далее...
Рекорд 2375 человек онлайн установлен 26.12.2015.

Партнёры


Партнёры

Новые объявления

В настоящее время нет объявлений.

Просмотр этой темы: 

 1 анонимных пользователей
Помогите создать хекс фаил
Технолог
Зарегистрирован:
24.01.2010 19:37
Из: Львов,Укриана.
Сообщений: 152
Не в сети
Помогите создать хекс фаил из данной программы:

unsigned int i,p,pp,c,buf,ms,x;
 
void delay_ms(int ms)
{
for (
x=ms;x>0;x--)
nop (); 
}
 
void ledon0(int ms)
{
  
PORTD &= ~_BV(PD0);
  
delay_ms(ms);
}
 

void ledon1(int ms)
{
  
PORTD &= ~_BV(PD1);
  
delay_ms(ms);
}
 

void ledon2(int ms)
{
  
PORTD &= ~_BV(PD2);
  
delay_ms(ms);
}
 

void ledoff0(int ms)
{
   
PORTD |= _BV(PD0);
  
delay_ms(ms);


void ledoff1(int ms)
{
   
PORTD |= _BV(PD1);
  
delay_ms(ms);


void ledoff2(int ms)
{
 
PORTD |= _BV(PD2);
 
delay_ms(ms);
}
 
int mainvoid 
{

DDRD |= _BV(PD0);
DDRD |= _BV(PD1);
DDRD |= _BV(PD2);
 
PORTD 0xFF
 
pp=1000
for(;;) 
{
PORTD &= ~_BV(PD0);
 

for (
20ppi++)
{
  
p=pp-i;
 
ledon1(i);
 
ledoff1(p);
}
PORTD &= ~_BV(PD1);
for (
20ppi++)
{
 
p=pp-i;
ledon0(p);
ledoff0(i);
}
 
PORTD &= ~_BV(PD1);
 
for (
20ppi++) 
{
 
p=pp-i;
 
ledon2(i);
 
ledoff2(p);
}
PORTD &= ~_BV(PD2);
 
for (
20ppi++)
{
 
p=pp-i;
ledon1(p);
ledoff1(i);
}
 
PORTD &= ~_BV(PD2);
 
for (
20ppi++) 
{
  
p=pp-i;
ledon0(i);
 
ledoff0(p);
}
 
PORTD &= ~_BV(PD0);
 
for (
20ppi++)
{
 
p=pp-i;
 
ledon2(p);
 
ledoff2(i);
}
}
}


Заранее СПАСИБО


Отредактировано пользователем andrey3761 16.12.2010 21:47:40
Отредактировано пользователем MACTEP 26.12.2010 3:52:28


Re: Помогите
Модератор
Зарегистрирован:
26.01.2010 23:26
Из: Тирасполь
Сообщений: 3926
Не в сети
Target device какой?



Re: Помогите
Технолог
Зарегистрирован:
24.01.2010 19:37
Из: Львов,Укриана.
Сообщений: 152
Не в сети
Ето как?Типа схема?

Прикреплённый файл:



jpg  RGB_PWM_scheme.jpg (59.15 KB)
3098_4d0a06189d4cb.jpg 1142X590 px



Re: Помогите
Модератор
Зарегистрирован:
26.01.2010 23:26
Из: Тирасполь
Сообщений: 3926
Не в сети
лови производную твоего говнокода

Прикреплённый файл:


zip temp.zip Размер: 0.60 KB; Просмотры: 660



Re: Помогите
Администратор
Зарегистрирован:
07.08.2008 21:24
Из: Рыбница
Сообщений: 2502
Не в сети
Моргалка?



Re: Помогите
Технолог
Зарегистрирован:
24.01.2010 19:37
Из: Львов,Укриана.
Сообщений: 152
Не в сети
Спасибо evildesign.



Re: Помогите
Технолог
Зарегистрирован:
09.03.2010 18:38
Из: Germany
Сообщений: 245
Не в сети
evildesign

а можно поитерессоваться как ты код перевёл в хоксодецималь?



Re: Помогите
Модератор
Зарегистрирован:
26.01.2010 23:26
Из: Тирасполь
Сообщений: 3926
Не в сети
открыл папку с GCC AVR , создал С -файл и мэйк файл и откомпилил.



Re: Помогите
Технолог
Зарегистрирован:
24.01.2010 19:37
Из: Львов,Укриана.
Сообщений: 152
Не в сети
Извените, но уменя плохо ком пахал так што текст проги воттакой:

1. #include //подключаем библиотеку ввода/вывода
2.
3. #define nop() {asm("nop");}//функция необходимая для реализации задержки
4.
5. unsigned int i,p,pp,c,buf,ms,x;//перечисление переменных
6.
7. // функция задержки
8. void delay_ms(int ms)
9. {
10. for (x=ms;x>0;x--)
11. nop ();
12. }
13.
14. // функция включения красного светодиода
15. void ledon0(int ms)
16. {
17. PORTD &= ~_BV(PD0);
18. delay_ms(ms);
19. }
20.
21. // функция включения зеленого светодиода
22. void ledon1(int ms)
23. {
24. PORTD &= ~_BV(PD1);
25. delay_ms(ms);
26. }
27.
28. // функция включения синего светодиода
29. void ledon2(int ms)
30. {
31. PORTD &= ~_BV(PD2);
32. delay_ms(ms);
33. }
34.
35. // функция выключения красного светодиода
36. void ledoff0(int ms)
37. {
38. PORTD |= _BV(PD0);
39. delay_ms(ms);
40. }
41.
42. // функция выключения зеленого светодиода
43. void ledoff1(int ms)
44. {
45. PORTD |= _BV(PD1);
46. delay_ms(ms);
47. }
48.
49. // функция выключения синего светодиода
50. void ledoff2(int ms)
51. {
52. PORTD |= _BV(PD2);
53. delay_ms(ms);
54. }
55.
56. int main( void ) //главная программа
57. {
58. //конфигурирование на вывод порта D
59. DDRD |= _BV(PD0);//конфигурирование битов
60. DDRD |= _BV(PD1);//PD0, PD1 и PD2
61. DDRD |= _BV(PD2);//на выход
62.
63. PORTD = 0xFF; //включаем подтягивающие резисторы
64.
65. pp=1000; //задаем скорость зажигания /гашения
66.
67. for(;;) //бесконечный цикл
68. {
69. //Зажигаем красный светодиод
70. PORTD &= ~_BV(PD0);
71.
72. //плавное зажигание зеленого светодиода
73. for (i = 20; i < pp; i++)
74. {
75. p=pp-i;
76. ledon1(i);
77. ledoff1(p);
78. }
79. //Зеленый светодиод остается гореть
80. PORTD &= ~_BV(PD1);
81.
82. //плавное гашение красного светодиода
83. for (i = 20; i < pp; i++)
84. {
85. p=pp-i;
86. ledon0(p);
87. ledoff0(i);
88. }
89.
90. //Зеленый светодиод остается гореть
91. PORTD &= ~_BV(PD1);
92.
93. //плавное зажигание синего светодиода
94. for (i = 20; i < pp; i++)
95. {
96. p=pp-i;
97. ledon2(i);
98. ledoff2(p);
99. }
100.
101. //Синий светодиод продолжает гореть
102. PORTD &= ~_BV(PD2);
103.
104. //Плавное гашение зеленого светодиода
105. for (i = 20; i < pp; i++)
106. {
107. p=pp-i;
108. ledon1(p);
109. ledoff1(i);
110. }
111.
112. //Синий светодиод продолжает гореть
113. PORTD &= ~_BV(PD2);
114.
115. //постепенное зажигание красного светодиода
116. for (i = 20; i < pp; i++)
117. {
118. p=pp-i;
119. ledon0(i);
120. ledoff0(p);
121. }
122.
123. //Красный светодиод продолжает гореть
124. PORTD &= ~_BV(PD0);
125.
126. //Плавно тушим синий светодиод
127. for (i = 20; i < pp; i++)
128. {
129. p=pp-i;
130. ledon2(p);
131. ledoff2(i);
132. }
133. }
134. }

прога из http://avrlab.com/node/63



Re: Помогите
Технический Директор
Зарегистрирован:
09.01.2009 0:19
Из: Tallinn
Сообщений: 2303
Не в сети
Цитата:

Для написания программ, есть специальная среда так называемая AVR Studio. Эта среда работает совместно с компилятором Win AVR GCC, который по сути и делает из программы *.hex файл. Так что качай эти две проги, устанавливай как написано на страницах, делай новый проект, закидывай туда код с сайта(только удали нумерацию строк), выбери в проекте свой микроконтроллер и получишь файл которым прошивают микроконтроллеры.




Поиск по форуму


Расширенный поиск

Разное

Интересно

Хранение мелких крепежных деталей. Для любого радиолюбителя когда-то возникает необходимость иметь какое-то количество - болтиков, винтиков, шайб. Это набора вполне достаточно для любого крепежа. А вот хранить это все - в одном месте - можно в баночках из-под растворимого кофе. В баночках - на 50 гр или 25 чашек. В каждую такую баночку вмещается 3 коробочки из-под монпасье (леденцов). В каждой коробочке из-под леденцов можно хранить достаточное колическо деталей мелкого крепежа. На банке сделать надпись - допустим, М3. Винты, шайбы, гайки.