Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Вопросы начинающих

Вопросы начинающих Прежде чем задать вопрос, стоит воспользоваться поиском

Ответ
 
Опции темы Опции просмотра
Старый 26.10.2017, 23:32   #1
bvl2004
Junior Member
 
Регистрация: 29.01.2014
Возраст: 42
Сообщений: 29
Вес репутации: 100/15
bvl2004 will become famous soon enoughbvl2004 will become famous soon enough
По умолчанию Моя первая прога на С. Не работает в железе. Что я сделал не так?

Здравствуйте.
Если честно, я не знаю что не так делаю. В симуляторе MPLAB X все нормально, а в железе не работает.
Используется:
MPLAB X v4.01
XC8 v1.44
PIC12F629
Код:
/*
 * File:   newmain.c
 * Author: IBM
 *
 * Created on October 24, 2017, 10:44 PM
 */


#include <xc.h>
#define _XTAL_FREQ  4000000
#pragma config  FOSC=XT
#pragma config  WDTE=OFF
#pragma config  PWRTE=ON
#pragma config  BOREN=OFF
#pragma config  CPD=OFF
#pragma config  CP=OFF

#define out       GP2
void init_mcu ();//Инициализация контроллера
void init_mcu()
{
    TRISIO=0b00000011;
    GPIO=0;
    CMCON=7;
//  INTCON 
    T0IE=1;
    GIE=0;
//  OPTION_REG
    nGPPU=1;//Отключение подтягивающих резисторов
    T0CS=0;//Внутреннее тактирование TMR0
    PSA=1;//Предделитель подключен к WDT
    PS2=0;//******************
    PS1=0;//*Предделитель 1:1    *
    PS0=0;//******************
}
void main(void) 
{
    init_mcu();
    int pausa;
    while (1)
    {
        pausa=0xFF;
            while(pausa-->0);
            {
            }
        out=1-out;
    }
}
Помогите разобраться
И еще вопрос.
Есть файл p12f629.inc с описанием регистров. А какой файл подобный для С?
bvl2004 вне форума   Ответить с цитированием
Старый 27.10.2017, 01:48   #2
tsb58
Senior Member
 
Аватар для tsb58
 
Регистрация: 04.11.2008
Адрес: Харьков
Сообщений: 341
Вес репутации: 889/45
tsb58 is a splendid one to beholdtsb58 is a splendid one to beholdtsb58 is a splendid one to beholdtsb58 is a splendid one to beholdtsb58 is a splendid one to beholdtsb58 is a splendid one to beholdtsb58 is a splendid one to behold
По умолчанию Re: Моя первая прога на С. Не работает в железе. Что я сделал не так?

Цитата:
Сообщение от bvl2004 Посмотреть сообщение
В симуляторе MPLAB X все нормально, а в железе не работает.
Используется:
MPLAB X v4.01
XC8 v1.44
PIC12F629
Код:
....
#include <xc.h>
#define _XTAL_FREQ  4000000
#pragma config  FOSC=XT
#pragma config  WDTE=OFF
#pragma config  PWRTE=ON
#pragma config  BOREN=OFF
#pragma config  CPD=OFF
#pragma config  CP=OFF
....
Скорее всего "в железе" не работает из-за того, что н.4 PICa (GP3 и он же MCLR) никуда не подключена. А в программе не задан бит конфигурации, отключающий MCLR, который по-умолчанию включен.

Цитата:
Сообщение от bvl2004 Посмотреть сообщение
И еще вопрос.
Есть файл p12f629.inc с описанием регистров. А какой файл подобный для С?
pic12f629.h
Подключается через
Код:
#include <xc.h>
с помощью длинной цепочки вложенных "инклюдов":
xc.h -> htc.h -> pic.h -> pic_chip_select.h -> pic12f629.h
tsb58 вне форума   Ответить с цитированием
Старый 27.10.2017, 06:52   #3
bvl2004
Junior Member
 
Регистрация: 29.01.2014
Возраст: 42
Сообщений: 29
Вес репутации: 100/15
bvl2004 will become famous soon enoughbvl2004 will become famous soon enough
По умолчанию Re: Моя первая прога на С. Не работает в железе. Что я сделал не так?

Спасибо. Блин, три дня на код как баран на новые ворота смотрел, на MICROCHIP.COM смотрел обучалку, разные примеры, а про MCLR и не подумал.
Поменяю, проверю.
Цитата:
xc.h -> htc.h -> pic.h -> pic_chip_select.h -> pic12f629.h
А, я до конца не дошел. Думал что не в ту сторону пошел.
Спасибо!
bvl2004 вне форума   Ответить с цитированием
Старый 27.10.2017, 08:03   #4
petrd
Senior Member
 
Регистрация: 09.02.2008
Адрес: Воронеж
Возраст: 46
Сообщений: 1,688
Вес репутации: 1574/67
petrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant future
Отправить сообщение для petrd с помощью ICQ
По умолчанию Re: Моя первая прога на С. Не работает в железе. Что я сделал не так?

Что, кварц действительно подключен?
__________________
License MikroC, MikroC PRO and EasyPIC5 by mikroElektronika (the dead mikroICD replaced PICKit2 & PICKit3)
petrd вне форума   Ответить с цитированием
Старый 27.10.2017, 09:14   #5
siarzhuk
Senior Member
 
Аватар для siarzhuk
 
Регистрация: 08.11.2014
Возраст: 47
Сообщений: 113
Вес репутации: 1003/23
siarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud of
По умолчанию Re: Моя первая прога на С. Не работает в железе. Что я сделал не так?

Цитата:
Сообщение от bvl2004 Посмотреть сообщение
А, я до конца не дошел. Думал что не в ту сторону пошел.
ЕМНИП, в MPLAB X "телепортатор" есть - включается одновременным нажатием на Ctrl и мыше-кликом на интересующей вас сущности. Всяко будет легче чем своими ножками.
siarzhuk вне форума   Ответить с цитированием
Старый 27.10.2017, 09:29   #6
Greg
Super Moderator
 
Регистрация: 25.02.2007
Адрес: Moscow, ODBS
Сообщений: 6,652
Вес репутации: 5137/157
Greg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond repute
По умолчанию Re: Моя первая прога на С. Не работает в железе. Что я сделал не так?

Цитата:
Сообщение от petrd Посмотреть сообщение
Что, кварц действительно подключен?
+++
Greg вне форума   Ответить с цитированием
Старый 27.10.2017, 09:34   #7
Zhuk72
Member
 
Аватар для Zhuk72
 
Регистрация: 09.11.2015
Адрес: Baku
Возраст: 45
Сообщений: 97
Вес репутации: 431/12
Zhuk72 is just really niceZhuk72 is just really niceZhuk72 is just really niceZhuk72 is just really niceZhuk72 is just really nice
По умолчанию Re: Моя первая прога на С. Не работает в железе. Что я сделал не так?

А как понимать out=1-out, учитывая, что out == GP2?
Zhuk72 вне форума   Ответить с цитированием
Старый 27.10.2017, 18:23   #8
DmitrijVDN
Senior Member
 
Регистрация: 09.04.2010
Сообщений: 733
Вес репутации: 1308/48
DmitrijVDN has much to be proud ofDmitrijVDN has much to be proud ofDmitrijVDN has much to be proud ofDmitrijVDN has much to be proud ofDmitrijVDN has much to be proud ofDmitrijVDN has much to be proud ofDmitrijVDN has much to be proud ofDmitrijVDN has much to be proud ofDmitrijVDN has much to be proud ofDmitrijVDN has much to be proud of
По умолчанию Re: Моя первая прога на С. Не работает в железе. Что я сделал не так?

Цитата:
Сообщение от Zhuk72 Посмотреть сообщение
А как понимать out=1-out, учитывая, что out == GP2?
инверсия однако ,
хотя правильней out= !out
DmitrijVDN вне форума   Ответить с цитированием
Старый 27.10.2017, 18:28   #9
bvl2004
Junior Member
 
Регистрация: 29.01.2014
Возраст: 42
Сообщений: 29
Вес репутации: 100/15
bvl2004 will become famous soon enoughbvl2004 will become famous soon enough
По умолчанию Re: Моя первая прога на С. Не работает в железе. Что я сделал не так?

Цитата:
Что, кварц действительно подключен?
Ай-яй-яй, упустил. Нет, не подключен.
Цитата:
в MPLAB X "телепортатор" есть
Спасибо, теперь знаю.
Цитата:
А как понимать out=1-out?
Брал из примера, инверсия.
Цитата:
учитывая, что out == GP2
А что не так?
bvl2004 вне форума   Ответить с цитированием
Старый 27.10.2017, 18:40   #10
bzx
Senior Member
 
Аватар для bzx
 
Регистрация: 25.02.2007
Адрес: St. Petersburg
Возраст: 44
Сообщений: 449
Вес репутации: 1095/54
bzx has much to be proud ofbzx has much to be proud ofbzx has much to be proud ofbzx has much to be proud ofbzx has much to be proud ofbzx has much to be proud ofbzx has much to be proud ofbzx has much to be proud of
Отправить сообщение для bzx с помощью ICQ Отправить сообщение для bzx с помощью Skype™
По умолчанию Re: Моя первая прога на С. Не работает в железе. Что я сделал не так?

Цитата:
Сообщение от bvl2004 Посмотреть сообщение

А что не так?
А то, что out это константа, определенная через define и которая обрабатывается препроцессором при сборке проекта.
__________________
Для связи email: info собака qbit.su
bzx на форуме   Ответить с цитированием
Старый 27.10.2017, 18:42   #11
bvl2004
Junior Member
 
Регистрация: 29.01.2014
Возраст: 42
Сообщений: 29
Вес репутации: 100/15
bvl2004 will become famous soon enoughbvl2004 will become famous soon enough
По умолчанию Re: Моя первая прога на С. Не работает в железе. Что я сделал не так?

"Телепортатор" классная штука!
Ребят, Вы меня извините, у меня две дочки вчера родились, бегу замачивать. После отпишусь.
bvl2004 вне форума   Ответить с цитированием
Старый 27.10.2017, 19:01   #12
DmitrijVDN
Senior Member
 
Регистрация: 09.04.2010
Сообщений: 733
Вес репутации: 1308/48
DmitrijVDN has much to be proud ofDmitrijVDN has much to be proud ofDmitrijVDN has much to be proud ofDmitrijVDN has much to be proud ofDmitrijVDN has much to be proud ofDmitrijVDN has much to be proud ofDmitrijVDN has much to be proud ofDmitrijVDN has much to be proud ofDmitrijVDN has much to be proud ofDmitrijVDN has much to be proud of
По умолчанию Re: Моя первая прога на С. Не работает в железе. Что я сделал не так?

Цитата:
Сообщение от bzx Посмотреть сообщение
А то, что out это константа, определенная через define и которая обрабатывается препроцессором при сборке проекта.
и че за бред? с какого перепугу оная константа???? это не мешает ей работать как пин выхода
DmitrijVDN вне форума   Ответить с цитированием
Старый 27.10.2017, 19:31   #13
bvl2004
Junior Member
 
Регистрация: 29.01.2014
Возраст: 42
Сообщений: 29
Вес репутации: 100/15
bvl2004 will become famous soon enoughbvl2004 will become famous soon enough
По умолчанию Re: Моя первая прога на С. Не работает в железе. Что я сделал не так?

Цитата:
Сообщение от DmitrijVDN Посмотреть сообщение
инверсия однако ,
хотя правильней out= !out
Спасибо, приму к сведению.
Если я правильно понял то "телепортатор" открывает хидер файл, где в том числе описаны процедуры чтения/записи EEPROM, задержки. Я правильно понимаю?
bvl2004 вне форума   Ответить с цитированием
Старый 28.10.2017, 10:02   #14
siarzhuk
Senior Member
 
Аватар для siarzhuk
 
Регистрация: 08.11.2014
Возраст: 47
Сообщений: 113
Вес репутации: 1003/23
siarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud of
По умолчанию Re: Моя первая прога на С. Не работает в железе. Что я сделал не так?

Цитата:
Сообщение от bvl2004 Посмотреть сообщение
Если я правильно понял то "телепортатор" открывает хидер файл, где в том числе описаны процедуры чтения/записи EEPROM, задержки. Я правильно понимаю?
Скоре он пытается угадать по контексту что вы желаете - найти-ли определение макроса, или находясь на прототипе функции перейти к её телу или наоборот. То, что рядом оказались какие-то другие определения - это обстоятельства - [почти] всё собрано в одном заголовочном файле, запросите нечто другое - переместитесь в другой файл. По правой кнопке мыши на "объекте" есть группа меню "Navigate" там немножко более конкретное исполнение желаний.
siarzhuk вне форума   Ответить с цитированием
Старый 28.10.2017, 15:42   #15
bvl2004
Junior Member
 
Регистрация: 29.01.2014
Возраст: 42
Сообщений: 29
Вес репутации: 100/15
bvl2004 will become famous soon enoughbvl2004 will become famous soon enough
По умолчанию Re: Моя первая прога на С. Не работает в железе. Что я сделал не так?

Цитата:
Сообщение от siarzhuk Посмотреть сообщение
Скоре он пытается угадать по контексту что вы желаете - найти-ли определение макроса, или находясь на прототипе функции перейти к её телу или наоборот. То, что рядом оказались какие-то другие определения - это обстоятельства - [почти] всё собрано в одном заголовочном файле, запросите нечто другое - переместитесь в другой файл. По правой кнопке мыши на "объекте" есть группа меню "Navigate" там немножко более конкретное исполнение желаний.
Кое что понятно, в остальном буду разбираться.
Спасибо.
bvl2004 вне форума   Ответить с цитированием
Старый 28.10.2017, 16:29   #16
bvl2004
Junior Member
 
Регистрация: 29.01.2014
Возраст: 42
Сообщений: 29
Вес репутации: 100/15
bvl2004 will become famous soon enoughbvl2004 will become famous soon enough
По умолчанию Re: Моя первая прога на С. Не работает в железе. Что я сделал не так?

Ура! Заработала!
Осцилятор неправильно был определен и MCLR не отключен.
Спасибо всем откликнувшимся!
Теперь нужно разобраться с прерываниями.

Последний раз редактировалось bvl2004; 28.10.2017 в 16:35.
bvl2004 вне форума   Ответить с цитированием
Старый 30.10.2017, 12:45   #17
Zhuk72
Member
 
Аватар для Zhuk72
 
Регистрация: 09.11.2015
Адрес: Baku
Возраст: 45
Сообщений: 97
Вес репутации: 431/12
Zhuk72 is just really niceZhuk72 is just really niceZhuk72 is just really niceZhuk72 is just really niceZhuk72 is just really nice
По умолчанию Re: Моя первая прога на С. Не работает в железе. Что я сделал не так?

Цитата:
Сообщение от DmitrijVDN Посмотреть сообщение
инверсия однако ,
хотя правильней out= !out
Спрашивал потому, что в хедере GP2 определен как
Цитата:
extern volatile __bit GP2 @ (((unsigned) &GPIO)*8) + 2;
и проводить с ним действия типа GP2=1-GP2 по меньшей мере странно.
Zhuk72 вне форума   Ответить с цитированием
Старый 30.10.2017, 13:03   #18
petrd
Senior Member
 
Регистрация: 09.02.2008
Адрес: Воронеж
Возраст: 46
Сообщений: 1,688
Вес репутации: 1574/67
petrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant future
Отправить сообщение для petrd с помощью ICQ
По умолчанию Re: Моя первая прога на С. Не работает в железе. Что я сделал не так?

Цитата:
Сообщение от Zhuk72 Посмотреть сообщение
и проводить с ним действия типа GP2=1-GP2 по меньшей мере странно.
Работает ведь! И многие с такой записью работают, и им это странным не кажется. Главное про RMW не забывать.
__________________
License MikroC, MikroC PRO and EasyPIC5 by mikroElektronika (the dead mikroICD replaced PICKit2 & PICKit3)
petrd вне форума   Ответить с цитированием
Старый 30.10.2017, 13:15   #19
Zhuk72
Member
 
Аватар для Zhuk72
 
Регистрация: 09.11.2015
Адрес: Baku
Возраст: 45
Сообщений: 97
Вес репутации: 431/12
Zhuk72 is just really niceZhuk72 is just really niceZhuk72 is just really niceZhuk72 is just really niceZhuk72 is just really nice
По умолчанию Re: Моя первая прога на С. Не работает в железе. Что я сделал не так?

Тогда странно, что из "многих" мне подобная запись попадается впервые.
XOR видел, инверсию видел, а такое ни разу.
Zhuk72 вне форума   Ответить с цитированием
Старый 30.10.2017, 14:45   #20
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 30
Сообщений: 1,501
Вес репутации: 3061/65
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: Моя первая прога на С. Не работает в железе. Что я сделал не так?

petrd
я не знаю. мне кажется что использовать bit, в системах с гранулярностью 8bit в целом не является трезвой идеей.
воспринимаю как попытку навредить самому себе.
как ровно и
Код:
GP2=1-GP2
besogon вне форума   Ответить с цитированием
Старый 30.10.2017, 15:04   #21
Greg
Super Moderator
 
Регистрация: 25.02.2007
Адрес: Moscow, ODBS
Сообщений: 6,652
Вес репутации: 5137/157
Greg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond repute
По умолчанию Re: Моя первая прога на С. Не работает в железе. Что я сделал не так?

Цитата:
Сообщение от besogon Посмотреть сообщение
petrd
я не знаю. мне кажется что использовать bit, в системах с гранулярностью 8bit в целом не является трезвой идеей.
воспринимаю как попытку навредить самому себе.
как ровно и
Код:
GP2=1-GP2
в классическом пике вообще мало что является трезвым. но в компиляторе hitech был тип переменной bit, и работало это чрезвычайно эффективно (значение функции возвращалось через бит C) в смысле экономии памяти. Классикой bit подхода был i51.
Greg вне форума   Ответить с цитированием
Старый 31.10.2017, 21:54   #22
bvl2004
Junior Member
 
Регистрация: 29.01.2014
Возраст: 42
Сообщений: 29
Вес репутации: 100/15
bvl2004 will become famous soon enoughbvl2004 will become famous soon enough
По умолчанию Re: Моя первая прога на С. Не работает в железе. Что я сделал не так?

Цитата:
воспринимаю как попытку навредить самому себе.
Пожалуйста, по-подробнее.
Цитата:
out=1-out
Это взято из примера, давнего примера.
bvl2004 вне форума   Ответить с цитированием
Старый 31.10.2017, 22:31   #23
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 30
Сообщений: 1,501
Вес репутации: 3061/65
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: Моя первая прога на С. Не работает в железе. Что я сделал не так?

bvl2004
Код:
out=1-out
1) соглашение о макросах. большинство соглашений требует написания такого рода имен макросов заглавными.
2) оut в целом плохое имя, вообще непонятно к чему оно относится.
3) реализация логики "не" через
Код:
out=1 - out
затрудняет чтение. out ^= 1 было бы куда как понятней.

*
про использование битовых переменных - скорее прочего лишь факелы и вилы могут заставить меня их использовать.
besogon вне форума   Ответить с цитированием
Старый 31.10.2017, 22:49   #24
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 30
Сообщений: 1,501
Вес репутации: 3061/65
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: Моя первая прога на С. Не работает в железе. Что я сделал не так?

*pic12f629 это старый камень.
в современных разработках скорее прочего имеет смысл использовать PIC16F15313 или STM8S003F3.
besogon вне форума   Ответить с цитированием
Старый 01.11.2017, 19:17   #25
bvl2004
Junior Member
 
Регистрация: 29.01.2014
Возраст: 42
Сообщений: 29
Вес репутации: 100/15
bvl2004 will become famous soon enoughbvl2004 will become famous soon enough
По умолчанию Re: Моя первая прога на С. Не работает в железе. Что я сделал не так?

Это первый мой опыт на С.
Пока как могу, но расту.
Про pic12f629. Мне надо было сделать генератор меандра с регулируемой частотой. Всего 3 ноги использовалось. Вот и все. Да, я и не знаю какие устарели. PIC16F15313 этого в Минске нет.

Последний раз редактировалось bvl2004; 01.11.2017 в 19:26.
bvl2004 вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу понять что не так PIC16F874 zz-juve Вопросы начинающих 3 22.01.2015 18:35
наше образование, или будущие ембеддеры - кто они... Vlad&mir Общетехнические вопросы 357 13.01.2015 11:34
PIC16F84a stepka Вопросы начинающих 56 24.03.2010 18:30


Часовой пояс GMT +3, время: 04:11.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd. Перевод: zCarot