Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Вариации на тему Си (+)

Отправлено Aleksey75 11 февраля 2008 г. 10:05


никак не могу после асма правильно юзать си. Вчерась люди меня поругали за нерациональность написания, вот часть моей программа

N_bit=34; // Кол-во передаваемых бит
while (N_bit>0) // полная передача команды
{
bit_stat_1 = st_bit;

if (N_bit==34) // определяем наличие статрового бита
{
bit_stat_1 = start_1;
bit_stat_2 = start_2;
if (repit==1)N_bit=1; // если команда повторяется
goto TX_BIT;
}

if (N_bit==1) // Передача законченна , пауза
{
bit_stat_2 = pause ;
goto TX_BIT;
}

if (tx_byte & (1UL<<(N_bit-2))) // Выполняем если текущий бит "1"
{
bit_stat_2 = one;
goto TX_BIT;
}
else
{
bit_stat_2 = zero;
goto TX_BIT;
};

TX_BIT:
//=========================== Transmit BIT ===========================================
number_ovf=0; // обнуляем счётчик
mod_ON // Включили модуляцию
out_led=1; // Высокий уровень управления светодиодом
Start_Timer // Запуск таймера
number_ovf=0; // обнуляем счётчик
while (number_ovf<bit_stat_1); // передаём первую часть бита
#asm ("nop");
number_ovf=0; // обнуляем счётчик
mod_OFF // Включили модуляцию
out_led=0; // Низкий уровень управления светодиодом
while (number_ovf<bit_stat_2); // передаём вторую часть бита

N_bit--; // Счётчик-1
}


программа полностью рабочая..
Как поизящнее это изобразить на языке си
может есть где почитать про общую концепцию написания программ на языке си..
Спасибо!



Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 45:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru