Форум РадиоКот https://radiokot.ru/forum/ |
|
Програмирование pic на СИ. https://radiokot.ru/forum/viewtopic.php?f=58&t=41512 |
Страница 1 из 69 |
Автор: | misterkuk [ Пн янв 24, 2011 23:18:24 ] |
Заголовок сообщения: | Програмирование pic на СИ. |
Как оказалось в интернете сложно найти хороший самоучитель на си для PIC. Здесь не плохой материал, но как на меня очень укороченный и не такой детализированный как самоучитель на Асемблере с этогож сайта. Поэтому давайте делиться литературой и раскрывать эту тему. |
Автор: | misterkuk [ Пн янв 24, 2011 23:26:14 ] |
Заголовок сообщения: | Re: Програмирование pic на СИ. |
И мой первый вопрос. Функция main как я понял самая главная. Но почему она может ставится и в середине текста программы? Если провести с асемблером параллель, то с чем можно сравнить? |
Автор: | dosikus [ Пн янв 24, 2011 23:44:12 ] |
Заголовок сообщения: | Re: Програмирование pic на СИ. |
http://www.helloworld.ru/texts/comp/lang/c/c6/index.htm |
Автор: | misterkuk [ Вт янв 25, 2011 00:41:15 ] |
Заголовок сообщения: | Re: Програмирование pic на СИ. |
dosikus писал(а): http://www.helloworld.ru/texts/comp/lang/c/c6/index.htm Хороший материал:) |
Автор: | dosikus [ Вт янв 25, 2011 19:13:23 ] |
Заголовок сообщения: | Re: Програмирование pic на СИ. |
misterkuk писал(а): Хороший материал:) Для начинающих самое то. Далее читай Сида Катцена , ну и классиков Керниган и Ричи. PS. Шпака можно но сверяясь с фирменным даташитом , куча ошибок... |
Автор: | vovik15 [ Ср янв 26, 2011 12:32:48 ] |
Заголовок сообщения: | Re: Програмирование pic на СИ. |
почему нет материала? вот отличный самоучитель по которому я сам учился http://www.labkit.ru/html/C_for_PIC |
Автор: | misterkuk [ Ср янв 26, 2011 12:49:23 ] |
Заголовок сообщения: | Re: Програмирование pic на СИ. |
vovik15 писал(а): почему нет материала? вот отличный самоучитель по которому я сам учился http://www.labkit.ru/html/C_for_PIC Я с него первого начал:) И асемблер тоже с этого сайта учил. Я в первом посте написал про эту статью. _____ Просто я не в понятках. С этой функцией main. Может не быть функции MAIN? |
Автор: | vovik15 [ Ср янв 26, 2011 15:51:20 ] |
Заголовок сообщения: | Re: Програмирование pic на СИ. |
misterkuk писал(а): И мой первый вопрос. Функция main как я понял самая главная. Но почему она может ставится и в середине текста программы? Если провести с асемблером параллель, то с чем можно сравнить? когда программа начинает компилироваться,компилятор сразу начинает искать функцию майн ,независимо от того где она находиться по тексту программы |
Автор: | misterkuk [ Ср янв 26, 2011 15:56:14 ] |
Заголовок сообщения: | Re: Програмирование pic на СИ. |
vovik15 писал(а): misterkuk писал(а): И мой первый вопрос. Функция main как я понял самая главная. Но почему она может ставится и в середине текста программы? Если провести с асемблером параллель, то с чем можно сравнить? когда программа начинает компилироваться,компилятор сразу начинает искать функцию майн ,независимо от того где она находиться по тексту программы это я понял.но не пойму почему именно эту функцию. если я расположу ее в середине, то как тогда будет работать программа? какое ее назначение? и чем она отличается от других функции? |
Автор: | vovik15 [ Ср янв 26, 2011 16:07:11 ] |
Заголовок сообщения: | Re: Програмирование pic на СИ. |
неважно где вы ее расположите функции вызываються по именам это не ассемблер расположение можно изменять в произвольном порядке |
Автор: | ut1wpr [ Ср янв 26, 2011 17:53:04 ] |
Заголовок сообщения: | Re: Програмирование pic на СИ. |
misterkuk писал(а): vovik15 писал(а): misterkuk писал(а): И мой первый вопрос. Функция main как я понял самая главная. Но почему она может ставится и в середине текста программы? Если провести с асемблером параллель, то с чем можно сравнить? когда программа начинает компилироваться,компилятор сразу начинает искать функцию майн ,независимо от того где она находиться по тексту программы это я понял.но не пойму почему именно эту функцию. если я расположу ее в середине, то как тогда будет работать программа? какое ее назначение? и чем она отличается от других функции? ![]() От других функций она почти ничем не отличается. Просто из этой функции команда возврата никогда не выполняется, хотя во многих случаях тип функции объявляется int. Пора начинать читать литературу, потому что на мои ответы сразу последуют другие вопросы. Лучше уж после чтения... |
Автор: | dosikus [ Ср янв 26, 2011 20:50:04 ] |
Заголовок сообщения: | Re: Програмирование pic на СИ. |
misterkuk писал(а): это я понял.но не пойму почему именно эту функцию. если я расположу ее в середине, то как тогда будет работать программа? какое ее назначение? и чем она отличается от других функции? Вообще то по первой моей ссылке ответ на этот вопрос и на последующие есть. |
Автор: | misterkuk [ Ср янв 26, 2011 21:45:37 ] |
Заголовок сообщения: | Re: Програмирование pic на СИ. |
Кажысь понял. Как в Асемблере мы до "СТАРТ" прописуем подготовительные моменты. а потом начинаем исполнять программу. Так и в СИ. Я верно пониимаю? |
Автор: | dosikus [ Ср янв 26, 2011 22:10:05 ] |
Заголовок сообщения: | Re: Програмирование pic на СИ. |
misterkuk писал(а): Кажысь понял. Как в Асемблере мы до "СТАРТ" прописуем подготовительные моменты. а потом начинаем исполнять программу. Так и в СИ. Я верно пониимаю? До main обычно идут дефайны - определение/описание глобальных переменных, констант, функций . После main и до главного цикла инициализация переменных/контроллера/перифирии. |
Автор: | misterkuk [ Ср янв 26, 2011 22:38:39 ] |
Заголовок сообщения: | Re: Програмирование pic на СИ. |
dosikus писал(а): misterkuk писал(а): Кажысь понял. Как в Асемблере мы до "СТАРТ" прописуем подготовительные моменты. а потом начинаем исполнять программу. Так и в СИ. Я верно пониимаю? До main обычно идут дефайны - определение/описание глобальных переменных, констант, функций . После main и до главного цикла инициализация переменных/контроллера/перифирии. Вот. Ни в одном источнике я такого не прочитал. Только конфигурацию в примерах на Labkit.ru прописуют до main #include <pic.h> __CONFIG (INTIO & UNPROTECT & LVPDIS & BOREN & MCLRDIS & PWRTEN & WDTDIS); void main (void) { } |
Автор: | misterkuk [ Чт янв 27, 2011 13:38:45 ] |
Заголовок сообщения: | Re: Програмирование pic на СИ. |
А как работать с ЕПРОМ на си? |
Автор: | vovik15 [ Чт янв 27, 2011 15:51:01 ] |
Заголовок сообщения: | Re: Програмирование pic на СИ. |
а не рановато с эпром? мне кажеться что сначало мигалку надо сделать,кнопочку опросить |
Автор: | misterkuk [ Чт янв 27, 2011 16:40:53 ] |
Заголовок сообщения: | Re: Програмирование pic на СИ. |
vovik15 писал(а): а не рановато с эпром? мне кажеться что сначало мигалку надо сделать,кнопочку опросить хотя да ![]() |
Автор: | dosikus [ Чт янв 27, 2011 20:13:08 ] |
Заголовок сообщения: | Re: Програмирование pic на СИ. |
misterkuk писал(а): Только конфигурацию в примерах на Labkit.ru прописуют до main Ну да , это я уже на более мощные перешел... ![]() Простейшая программа : Код: void main (void)
{ while(1) { ; } } |
Автор: | misterkuk [ Пт янв 28, 2011 00:19:52 ] |
Заголовок сообщения: | Re: Програмирование pic на СИ. |
Вот моя первая програма под схему http://www.labkit.ru/html/Assembler_for_PIC?id=356 Компиляция прошла успешно:) Завтра проверю на железе. Код: #include <pic.h>
__CONFIG (INTIO & UNPROTECT & LVPDIS & BOREN & MCLRDIS & PWRTEN & WDTDIS); #define knopka RB2 // кнопка void podgot (void); // подготовка МК void main (void) { podgot(); if (knopka = 0) PORTB = 0b01111111; } // === подготовка МК void podgot (void) { TRISA = 0b00000000; // направление работы ножек порта А TRISB = 0b11111111; // направление работы ножек порта В CMCON = 0x07; // отключение компараторов PORTA = 0; // очищаем порт А PORTB = 0; // очищаем порт Б RBPU = 1; // подтягивающие R (0-вкл, 1-выкл) } |
Страница 1 из 69 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |