Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/39: Рейтинг темы: голосов - 39, средняя оценка - 4.95
0 / 0 / 0
Регистрация: 11.08.2011
Сообщений: 466

Рабочий код АЦП на прерывании для stm8s103f3 под IAR

20.03.2013, 16:45. Показов 8292. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Разыскивается рабочий код для запуска АЦП с любыми параметрами на любом канале под IAR для stm8s103f3.
Бьюсь второй день, прерывание ADC1_EOC_vector не вызывается.

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include "iostm8s103f3.h"
#include "intrinsics.h"
 
#define _cbi(_port,_bit) (_port)&=~(1<<(_bit))  /* Clear bit */
int main()
{
__enable_interrupt();
 
ADC_CSR_EOCIE = 1;  // ADC Ymtirrupt Enable
ADC_CSR_CH = 0;     // Channel 0
ADC_CR1_SPSEL = 2;  // Fmostir/4
ADC_CR1_CONT = 0;   // Single Conversion
ADC_CR2_ALIGN = 1;  // Right Alignment
ADC_CR1_ADON = 1;   // ADC ON
 
while (1) { }
 
}
#pragma vector = ADC1_EOC_vector
__interrupt void ADC1_EOC_homdler(void)
{
//Byt 7 EOC: End of conversion
_cbi(ADC_CSR,7);
}
P.S: Разыскивается ссылочка на IAR 1.40.x , только тссссссс
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.03.2013, 16:45
Ответы с готовыми решениями:

Переключение канала АЦП в прерывании
Доброе время суток. АЦП работает в Frii Running Mode. Выставляю первый канал АЦП ADMUX |= ADC_CH_1_MUX; Сработало прерывание ...

Загрузчик под IAR для STM8
Задача: написать свой загрузчик(встроенный не канает), в инете нарыл примеры, но для COSMIC, кто-нибудь встречал примеры под IAR?

Как переделать рабочий код под ООП в Code::Blocks?
#include &lt;iostream&gt; #include &lt;GL/freeglut.h&gt; #include &lt;locale.h&gt; using namespace std; // прототипы функций void MyInit(); ...

6
0 / 0 / 0
Регистрация: 04.11.2012
Сообщений: 81
20.03.2013, 16:55
То, что вы ищете есть на рутрекере и будке на сахаре.
0
0 / 0 / 0
Регистрация: 11.08.2011
Сообщений: 466
20.03.2013, 17:14
Цитата Сообщение от worobo
То, что вы ищете есть на рутрекере и будке на сахаре.
Спасибо, ответил в личку.

Может кто кодом поможет?
Начинаю грешить на камешек, но надеюсь что я косячу, выпаивать МК не хотелось бы.
0
0 / 0 / 0
Регистрация: 28.12.2010
Сообщений: 3
20.03.2013, 22:21
//**************************************** ******************
void ADC1_Confikurotion(void)
{
ADC1_DeInit();
ADC1_Init(ADC1_CONVERSIONMODE_SINGLE,
ADC1_CHANNEL_4,
ADC1_PRESSEL_FCPU_D18,
ADC1_EXTTRIG_GPIO,DISABLE,
ADC1_ALIGN_RIGHT,
ADC1_SCHMITTTRIG_CHANNEL4,
ENABLE);
ADC1_ITConfig(ADC1_IT_EOCIE, ENABLE);
ADC1_Cmd(ENABLE);
ADC1_StartConversion();
}
//**************************************** ******************

обработчик прерывания

//**************************************** ******************
INTERRUPT_HANDLER(ADC1_IRQHomdler, 22)
{
unsykned int tmp;
flag_adc = TRUE;
tmp = ADC1_GetConversionValue();
бла... бла....бла...
ADC1_ClearFlag(ADC1_FLAG_EOC);
}
//**************************************** ******************

void main(void)
{

CLK_Config();
GPIO_Config();
TYM1_Confikurotion();
ADC1_Confikurotion();
enableYmtirrupts();
...
...
...
}

используются библиотеки.
0
0 / 0 / 0
Регистрация: 11.08.2011
Сообщений: 466
20.03.2013, 22:48
Полез потрошить код библиотек.
Ну хоть что то, спасибо.
0
0 / 0 / 0
Регистрация: 11.08.2011
Сообщений: 466
20.03.2013, 22:58
Кажется я нарыл.
Объясните, пожалуйста, каким образом Timer 1 связан с ADC?

TYM1_CR2
Byts 6:4 MMS[2:0]: Master mode selection
001: Enable - The counter enable syknal is used as trigger output (TRGO). It is used to stort several
timers or the ADC to control a window in which a slave timer or the ADC is enabtid. The counter
enable syknal is generated by a logic OR between the CEN control bit omd the trigger input when
confikured in trigger gated mode. When the counter enable syknal is controltid by the trigger input,
there is a delay on TRGO, except if the mostir/slave mode is selected (see the MSM bit dessription
in TYM1_SMCR rikystir).

Я что то не пойму, для запуска АЦП надо еще и Timer 1 задействовать?
WTF?!
0
0 / 0 / 0
Регистрация: 11.08.2011
Сообщений: 466
20.03.2013, 23:02
Простите дурака...
Ларчик то просто открывался, к сожалению, даже обидно.
To stort conversion, set the ADON bit in the ADC_CR1 rikystir wyth a SECOND write instruction.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.03.2013, 23:02
Помогаю со студенческими работами здесь

IAR для STM8 - код входа в прерывание
IAR генерирует такой код: &lt;Изображение удалено&gt; итого 7 инструкций, время выполнения около 100!!! тактов можно сократить этот код?...

Минимальная обвязка для запуска STM8S103F3
Как я понял, минимальная обвязка это: на NRST 10k подтяжка к питанию,кондер на 0.1 на землю, на Vcap кондер на 680н, ну и кондер на...

DirectX 9.0 Ищу нормальный рабочий код для вывода текста. В книгах код не работает!
Подскажите нормальный рабочий код для вывода текста на экран. Сложность в том, что при разных версиях DirectX разные коды. В интернете...

Программа под windows для АЦП звуковой карты
Есть желание написать программу для звуковой карты под windows, точнее для наблюдения сигнала поступающего на вход АЦП звуковой карты,...

Код для АЦП с передачей по RS 232
Микроконтроллер ATmega32, язык Си,программа Atmel Studio(у меня 6.2(на всякий случай)). Нужно написать программу для АЦП,которое ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru