В сети

Пользователей: 51
Из них просматривают:
Аналоги: 24. Видео: 1. Даташиты: 10. Новости: 1. Ошибки: 1. Производители: 1. Профиль пользователя: 2. Форум: 11.
Участников: 2
Гостей: 49

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

Партнёры


Партнёры

Просмотр этой темы:   1 анонимных пользователей



1 2 3


Помогите создать хекс фаил
Технолог
Зарегистрирован:
24.01.2010 18: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);
}
}
}


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

Отправлено: 15.12.2010 18:26

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


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

Отправлено: 15.12.2010 19:49


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

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



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

Отправлено: 16.12.2010 14:29


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

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


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

Отправлено: 16.12.2010 19:13


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

Отправлено: 16.12.2010 19:15
_________________
Информация


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

Отправлено: 16.12.2010 20:21


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

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

Отправлено: 16.12.2010 21:35


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

Отправлено: 16.12.2010 21:59


Re: Помогите
Технолог
Зарегистрирован:
24.01.2010 18: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

Отправлено: 17.12.2010 18:00


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

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


Отправлено: 17.12.2010 18:11






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


Разное

Во время поиска небольших радиодеталей, упавших со стола, вероятность их обнаружения прямо пропорциональна размеру детали и обратно пропорциональна их значению для завершения работы