реклама на сайте
подробности

 
 
15 страниц V  « < 8 9 10 11 12 > »   
Reply to this topicStart new topic
> Silabs C8051F120
alexunder
сообщение May 27 2015, 07:09
Сообщение #136


unexpected token
****

Группа: Свой
Сообщений: 899
Регистрация: 31-08-06
Из: Мехелен, Брюссель
Пользователь №: 19 987



Цитата(Radik2 @ May 27 2015, 04:36) *
Спасибо. Пока что результат тот же: на выводе Р0.0 3,3В, не происходит изменения выходного сигнала с "1" на "0". Прогнал код в отладчике. Дошел до while (1). Как я понял, судя по значению бита CP0EN, компаратор не активировался.

Да, в CP0EN вообще ничего не записывается в Вашем коде, т.е. компаратор не активирован. Добавьте соотв. строчку в Comparator_Init(). Странно что конфигуратор от Silabs это сам не вставляет, а может так задумано?

P.S. Пардон, бит CP0EN выставляется в Comparator_Init(), все нормально, но после строчки
Код
CPT0CN    &= ~0x30;

снова обнуляется. В чем замысел этого? Может предполагается, что разработчик включит компаратор позже в программе. В общем, после Comparator_Init() компаратор выключен.


--------------------
А у тебя SQUID, и значит, мы умрем.
Go to the top of the page
 
+Quote Post
Radik2
сообщение May 27 2015, 07:19
Сообщение #137


Частый гость
**

Группа: Участник
Сообщений: 107
Регистрация: 10-03-07
Из: Уфа
Пользователь №: 26 030



Цитата(alexunder @ May 27 2015, 12:09) *
P.S. Пардон, бит CP0EN выставляется в Comparator_Init(), все нормально.

Я уже не знаю в какую сторону "копать". Проблема в Keil или в МК.
Go to the top of the page
 
+Quote Post
alexunder
сообщение May 27 2015, 07:31
Сообщение #138


unexpected token
****

Группа: Свой
Сообщений: 899
Регистрация: 31-08-06
Из: Мехелен, Брюссель
Пользователь №: 19 987



Сейчас разберемся.
Прогнал в Keil, формально все работает, в смысле, регистры инициализируются как положено sm.gif
Аппартно не могу проверить, у меня нет F120, есть F320, там вроде похоже.
Закомментируйте вызов Interrupts_Init() если еще не сделали, чтоб с прерываниями не возиться.


--------------------
А у тебя SQUID, и значит, мы умрем.
Go to the top of the page
 
+Quote Post
Radik2
сообщение May 27 2015, 07:57
Сообщение #139


Частый гость
**

Группа: Участник
Сообщений: 107
Регистрация: 10-03-07
Из: Уфа
Пользователь №: 26 030



Цитата(alexunder @ May 27 2015, 12:31) *
Сейчас разберемся.
Прогнал в Keil, формально все работает, в смысле, регистры инициализируются как положено sm.gif
Аппартно не могу проверить, у меня нет F120, есть F320, там вроде похоже.
Закомментируйте вызов Interrupts_Init() если еще не сделали, чтоб с прерываниями не возиться.

Хорошо. Вечером проверю дома в железе.
Interrupts_Init() закомментировал сразу.
Go to the top of the page
 
+Quote Post
Radik2
сообщение May 27 2015, 15:46
Сообщение #140


Частый гость
**

Группа: Участник
Сообщений: 107
Регистрация: 10-03-07
Из: Уфа
Пользователь №: 26 030



Цитата(alexunder @ May 27 2015, 12:31) *
Сейчас разберемся.
Прогнал в Keil, формально все работает, в смысле, регистры инициализируются как положено sm.gif
Аппартно не могу проверить, у меня нет F120, есть F320, там вроде похоже.
Закомментируйте вызов Interrupts_Init() если еще не сделали, чтоб с прерываниями не возиться.


Все также: компаратор не активируется ((
Go to the top of the page
 
+Quote Post
alexunder
сообщение May 27 2015, 16:09
Сообщение #141


unexpected token
****

Группа: Свой
Сообщений: 899
Регистрация: 31-08-06
Из: Мехелен, Брюссель
Пользователь №: 19 987



Цитата(Radik2 @ May 27 2015, 09:57) *
Хорошо. Вечером проверю дома в железе.
Interrupts_Init() закомментировал сразу.

На своем "железе" с F320 проверил работоспособность компаратора. По регистрам там все аналогично F120 за исключением мультиплексирования по входам компаратора. Убедился что выход компаратора на пин порта срабатывает. Затем попробовал с прерыванием - тоже работает.
Прикрепленное изображение


помигал светодиодом из прерывания
Код
// обработчик прерывания от Comp #0
void Comp0_Interrupt (void) interrupt 12
{
    if (CPT0CN & 0x20)
    {
        // rising-edge
        CPT0CN &= ~0x20; // сбрасываем CP0RIF
        P0 = 1; // вкл СД
    };
    if (CPT0CN & 0x10)
    {
        // falling-edge
        CPT0CN &= ~0x10; // сбрасываем CP0FIF
        P0 = 0; // выкл СД
    }
}


--------------------
А у тебя SQUID, и значит, мы умрем.
Go to the top of the page
 
+Quote Post
Radik2
сообщение May 27 2015, 16:48
Сообщение #142


Частый гость
**

Группа: Участник
Сообщений: 107
Регистрация: 10-03-07
Из: Уфа
Пользователь №: 26 030



Цитата(alexunder @ May 27 2015, 21:09) *
На своем "железе" с F320 проверил работоспособность компаратора. По регистрам там все аналогично F120 за исключением мультиплексирования по входам компаратора. Убедился что выход компаратора на пин порта срабатывает. Затем попробовал с прерыванием - тоже работает.
}[/code]


А на вкладке компаратора что выводит?


Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
alexunder
сообщение May 27 2015, 19:56
Сообщение #143


unexpected token
****

Группа: Свой
Сообщений: 899
Регистрация: 31-08-06
Из: Мехелен, Брюссель
Пользователь №: 19 987



Цитата(Radik2 @ May 27 2015, 18:48) *
А на вкладке компаратора что выводит?

Странно, что у Вас после присвоения
Код
CPT0CN = 0x85;

регистр в нуле, если верить кейлу. У меня такого не наблюдается. Может какие-то проблемы с отладчиком? Файл заголовка вида c8051fxxx_defs.h точно от Вашего МК?


--------------------
А у тебя SQUID, и значит, мы умрем.
Go to the top of the page
 
+Quote Post
Radik2
сообщение May 28 2015, 02:33
Сообщение #144


Частый гость
**

Группа: Участник
Сообщений: 107
Регистрация: 10-03-07
Из: Уфа
Пользователь №: 26 030



Цитата(alexunder @ May 28 2015, 00:56) *
Странно, что у Вас после присвоения
Код
CPT0CN = 0x85;

регистр в нуле, если верить кейлу. У меня такого не наблюдается. Может какие-то проблемы с отладчиком? Файл заголовка вида c8051fxxx_defs.h точно от Вашего МК?


Да, от моего МК. Если в коде указываю C8051F120_defs.h, то Keil выдавал ошибку. С C8051F120.h все компилируется нормально, без ошибок и warning.
Может снести Keil и заново установить. Возможно, что где-то настройки некорректные. Но в этом я не силен.
Что странно, при пошаговой отладке светодиод "Run/Stop" в программаторе горит не зеленым цветом, другим: вроде красным.
Go to the top of the page
 
+Quote Post
alexunder
сообщение May 28 2015, 07:18
Сообщение #145


unexpected token
****

Группа: Свой
Сообщений: 899
Регистрация: 31-08-06
Из: Мехелен, Брюссель
Пользователь №: 19 987



Цитата(Radik2 @ May 28 2015, 04:33) *
Да, от моего МК. Если в коде указываю C8051F120_defs.h, то Keil выдавал ошибку. С C8051F120.h все компилируется нормально, без ошибок и warning.

я спросил, т.к. думал может у Вас по случайности от другого МК файл стоит...

Цитата(Radik2 @ May 28 2015, 04:33) *
Может снести Keil и заново установить. Возможно, что где-то настройки некорректные. Но в этом я не силен.

Ну зачем сносить кейл, если все работало с программой по тестированию UART? Там, если не ошибаюсь заинклюден c8051f120.h, т.е. файл заголовков, который есть где-то у Кейла в подддиректориях.
C8051F120_defs.h откуда-то у меня появился, они должны быть одинаковыми, там же просто объявления регистров и RAM. В конце концов, раз программа с UART бегала, то проблема не в этом.

Цитата(Radik2 @ May 28 2015, 04:33) *
Что странно, при пошаговой отладке светодиод "Run/Stop" в программаторе горит не зеленым цветом, другим: вроде красным.

по-моему так и должно быть в пошаговом режиме, если это оригинальный силабовский (или копия).

У меня старая версия Keil посему таких продвинутых окон типа детальный просмотр установок компараторов (как Вы привели) нет, в обычном watch'е регистр CPT0CN обновляется.
Может проблемы с самим отладочиком? Бывают глюки и у силабса, тут где-то была тема. Если запустить в эмуляторе программу, как себя ведет? В Keil можете выбрать в чем делать Debug: на таргете или в эмуляторе 51.


--------------------
А у тебя SQUID, и значит, мы умрем.
Go to the top of the page
 
+Quote Post
Radik2
сообщение May 28 2015, 07:44
Сообщение #146


Частый гость
**

Группа: Участник
Сообщений: 107
Регистрация: 10-03-07
Из: Уфа
Пользователь №: 26 030



Цитата(alexunder @ May 28 2015, 12:18) *
Ну зачем сносить кейл, если все работало с программой по тестированию UART? Там, если не ошибаюсь заинклюден c8051f120.h, т.е. файл заголовков, который есть где-то у Кейла в подддиректориях.


Этот файл был в папке с примерами для этого МК. С UART все было в порядке. Т.е. в железе работало. В отладчике не помню, вроде не проверял.

Цитата(alexunder @ May 28 2015, 12:18) *
C8051F120_defs.h откуда-то у меня появился, они должны быть одинаковыми, там же просто объявления регистров и RAM. В конце концов, раз программа с UART бегала, то проблема не в этом.


C8051F120_defs.h вроде для SiliconLabs IDE.

Цитата(alexunder @ May 28 2015, 12:18) *
по-моему так и должно быть в пошаговом режиме, если это оригинальный силабовский (или копия).


У меня китайская копия с 8051F320 внутри.
Что интересно. При работе с SiliconLabs IDE в программатор заливается одна прошивка. При работе с Keil - другая.

Тупик ...

Сообщение отредактировал Radik2 - May 28 2015, 07:45
Go to the top of the page
 
+Quote Post
alexunder
сообщение May 28 2015, 07:50
Сообщение #147


unexpected token
****

Группа: Свой
Сообщений: 899
Регистрация: 31-08-06
Из: Мехелен, Брюссель
Пользователь №: 19 987



Цитата(Radik2 @ May 28 2015, 09:44) *
Этот файл был в папке с примерами для этого МК. С UART все было в порядке. Т.е. в железе работало. В отладчике не помню, вроде не проверял.

прогоните просто в симуляторе 51, если при этом регистр себя нормально ведет (выведите его в отдельное окно Watch: меню View->Watch windows->Watch), то с программой все нормально и она должна работать в МК. Если без отладчика на МК не наблюдается адекватной работы, то тогда уж можно грешить на компаратор, хотя я сильно сомневаюсь что он каза болду.
Прикрепленное изображение


--------------------
А у тебя SQUID, и значит, мы умрем.
Go to the top of the page
 
+Quote Post
Radik2
сообщение May 28 2015, 07:54
Сообщение #148


Частый гость
**

Группа: Участник
Сообщений: 107
Регистрация: 10-03-07
Из: Уфа
Пользователь №: 26 030



Цитата(alexunder @ May 28 2015, 12:50) *
прогоните просто в симуляторе 51, если при этом регистр себя нормально ведет (выведите его в отдельное окно Watch: меню View->Watch windows->Watch), то с программой все нормально и она должна работать в МК. Если без отладчика на МК не наблюдается адекватной работы, то тогда уж можно грешить на компаратор, хотя я сильно сомневаюсь что он каза болду.

Хорошо. Вечером попробую. Спасибо за помощь!
Go to the top of the page
 
+Quote Post
alexunder
сообщение May 28 2015, 08:02
Сообщение #149


unexpected token
****

Группа: Свой
Сообщений: 899
Регистрация: 31-08-06
Из: Мехелен, Брюссель
Пользователь №: 19 987



Вот еще копия экрана после инициализации известного регистра:
Прикрепленное изображение


все как положено.


--------------------
А у тебя SQUID, и значит, мы умрем.
Go to the top of the page
 
+Quote Post
Radik2
сообщение May 28 2015, 08:09
Сообщение #150


Частый гость
**

Группа: Участник
Сообщений: 107
Регистрация: 10-03-07
Из: Уфа
Пользователь №: 26 030



Цитата(alexunder @ May 28 2015, 13:02) *
Вот еще копия экрана после инициализации известного регистра:

все как положено.


У Вас uVision 4. И "проглатывает" файлы для SiliconLabs IDE. У меня uVision 5 выдает кучу ошибок с этими include.
Go to the top of the page
 
+Quote Post

15 страниц V  « < 8 9 10 11 12 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th June 2025 - 23:28
Рейтинг@Mail.ru


Страница сгенерированна за 0.0156 секунд с 7
ELECTRONIX ©2004-2016