Страница 10 из 66
Re: ЧПУ пульты
Добавлено: 23 янв 2012, 18:40
aftaev
Nick писал(а):А чего цикл такой короткий?
Я когда увидел оболдел сам

Эт еще цветочки, тут такие циклы в примерах, что ящик пиво не поможет
Nick писал(а):А "y" откуда берешь?
Где то в начале переменная объявлена
Я тут непонимаю где начало и конец программы, как понимю программа выполняется в несколько потоков.
Ник, начни СИ изучать программирование под 1С Бухгалтерия раем покажется

Re: ЧПУ пульты
Добавлено: 23 янв 2012, 18:44
Impartial
Начало программы с функции
main()
{
....
.....
}
Re: ЧПУ пульты
Добавлено: 23 янв 2012, 18:51
aftaev
Impartial писал(а):Начало программы с функции
main()
Осталось ее найти в этм лесу-проекте

Re: ЧПУ пульты
Добавлено: 23 янв 2012, 20:11
aftaev
В СИ как глобальные переменные объявляются?
Re: ЧПУ пульты
Добавлено: 23 янв 2012, 20:26
Nick
по идее в начале программы int y и все есть глобальная переменная y.
http://progclub.ru/?param=book&name=r_i ... le=index20
Re: ЧПУ пульты
Добавлено: 23 янв 2012, 20:50
Impartial
Переменная "y" там объявлена как локальная.
Re: ЧПУ пульты
Добавлено: 23 янв 2012, 21:23
aftaev
как глобальне объявлять?
Re: ЧПУ пульты
Добавлено: 23 янв 2012, 21:59
Impartial
Nick выше дал ссылку там нормально написано.
Глобальная это когда объявлена вне всех функций.
В любом месте где нет открытых таких скобок { пишешь например
int i; //это будет 32 разрядное целое число со знаком (для ARM)
unsigned i; //это будет 32 разрядное целое число без знака
char i; // 8bit signed
short i; //16bit signed
float i; //32bit плавающая точка
глобальные можно использовать в любой функции.
Если такие объявления внутри функции (внутри таких скобок {})
то это локальные и их можно использовать только внутри функции, в которой они объявлены.
Re: ЧПУ пульты
Добавлено: 23 янв 2012, 22:36
Nick
Мне кажется, или говорили, что использование глобальных переменных в СИ - это не хорошо?
Re: ЧПУ пульты
Добавлено: 23 янв 2012, 22:58
Impartial
В С без них не обойтись. В С++ они не нужны. Если памяти навалом можно не заморачиваться. Главный критерий - работает! Это важно в крупных проектах с большим количеством участников ( неизвестно кому что придет в голову по именам).
Re: ЧПУ пульты
Добавлено: 23 янв 2012, 23:08
aftaev
Nick писал(а):Мне кажется, или говорили, что использование глобальных переменных в СИ - это не хорошо?
Почему это?
int i - это глабальня перемення
{ int i } - это локальная ?
Re: ЧПУ пульты
Добавлено: 23 янв 2012, 23:25
Impartial
aftaev писал(а):{ int i } - это локальная ?
Не совсем так.
В скобках тело функции.
void func1(void)
{
int i; //переменная i будет локальной для функции func1
......
......
......
.....
}
Re: ЧПУ пульты
Добавлено: 23 янв 2012, 23:40
aftaev
Impartial писал(а):В скобках тело функции.
Этоя и имел ввиду, токкороче написал:)
Impartial, с STM32 дело имели?
Re: ЧПУ пульты
Добавлено: 23 янв 2012, 23:43
Lexxa
Какая разница, си он и в африке си, не асм же)
Re: ЧПУ пульты
Добавлено: 23 янв 2012, 23:54
aftaev
Lexxa писал(а):Какая разница, си он и в африке си, не асм же)
Ну раз разницы нет, как порт PF7 переключить на выход и подергать ногой?
Re: ЧПУ пульты
Добавлено: 23 янв 2012, 23:56
Lexxa
это в прос к среде в которой ты все это программируешь, а не к си
Re: ЧПУ пульты
Добавлено: 24 янв 2012, 00:21
aftaev
Задал вопрос:
aftaev писал(а):Impartial, с STM32 дело имели?
Получил ответ:
Lexxa писал(а):Какая разница, си он и в африке си, не асм же)
Lexxa писал(а):это в прос к среде в которой ты все это программируешь, а не к си
Вопрос предназначался для Impartial, он знаком с STM32 да или нет? Африка меня не интерисует. Меня интерисует кто ближе знаком с этими МК.
Re: ЧПУ пульты
Добавлено: 24 янв 2012, 00:55
Impartial
Да, я знаю этот процессор.
Подергать пином порта просто.
Надо включить порт, настроить нужные пины на вывод, ну и собственно подергать.
Re: ЧПУ пульты
Добавлено: 24 янв 2012, 01:00
aftaev
Impartial писал(а):Подергать пином порта просто.
для uCos ?
Re: ЧПУ пульты
Добавлено: 24 янв 2012, 01:21
Impartial
RCC->APB2ENR |= RCC_APB2ENR_IOPFEN; //включаем порт F
GPIOF->CRL &= ~GPIO_CRL_CNF0 ; //порт ф бит 0 режим push/pull
GPIOF->CRL &= ~GPIO_CRL_MODE0;
GPIOF->CRL |= GPIO_CRL_MODE0_0; //режим вывода 2 мгц
//ну и собственно дергаем
while(1)
GPIOF->ODR ^= GPIO_ODR_ODR0;