Форум

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

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

В сети

Пользователей: 112
Из них просматривают:
Аналоги: 52. Даташиты: 37. Инструкции: 2. Магазин: 1. Новости: 5. Остальное: 2. Программы: 1. Профиль пользователя: 1. Форум: 10. Чат: 1.
Участников: 3
Гостей: 109

an , 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
Из: Тирасполь
Сообщений: 3900
Не в сети
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
Из: Тирасполь
Сообщений: 3900
Не в сети
лови производную твоего говнокода

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


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



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



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



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

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



Re: Помогите
Модератор
Зарегистрирован:
26.01.2010 23:26
Из: Тирасполь
Сообщений: 3900
Не в сети
открыл папку с 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
Сообщений: 2301
Не в сети
Цитата:

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




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


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

Разное

При замене электролитических конденсаторов, кроме соблюдения полярности, не следует значительно превышать допустимое рабочее напряжение.
Например, если конденсатор рассчитан на рабочее напряжение 16 В, то при установке нового той же емкости, но рассчитанного на напряжение 300 В после непродолжительной эксплуатации произойдет его расформовка, и емкость его значительно уменьшится.

Интересно

При замене радиодетали освободить отверстие от припоя можно заострённой спичкой.