|
Мелкие вопросы |
|
|
|
Nov 27 2015, 11:48
|
Участник

Группа: Участник
Сообщений: 28
Регистрация: 16-10-15
Пользователь №: 88 891

|
Идет процесс бурного изучения, возникает много вопросов, все вопросы мелкие, плодить темы не хочется 1. Вопрос по отладчику Keil. Есть массив указателей, который указывает на другие массивы: Код unt8_t const* const strings[] { string1, string2... } и где то объявлены сами массивы, в некоторый момент передается номер массива, который нужно прочитать. Возможно ли в этот момент посмотреть содержимое этого массива в отладчике? 2. Имеется 1 АЦП и несколько ног, с одной нужно снимать 12битные значения, со другой 8битные. Пересчитывать пропорцией? 3. Делаю библиотеку. Где по правильному хранить платформозависимые дефайны в h или в c файле 4. Дефайны пишем заглавными буквами, а на макросы это распространяется или нет? По сути это тоже дефайны? 5. Перед некоторыми функциями ставят знак нижнего подчеркивания, что это значит? 6. Почему в библиотеках не используют структуры? Например вместо Код lcd_drawLine(x0, y0, x1, y1) не написать Код typedef struct { uint8_t x; uint8_t y; }point_t; lcd_drawLine(pont_t start_point, pont_t end_point) это же нагляднее?
|
|
|
|
|
 |
Ответов
|
Dec 14 2015, 07:51
|

Знающий
   
Группа: Участник
Сообщений: 794
Регистрация: 4-09-06
Из: Москва(ЗелАО), РФ
Пользователь №: 20 055

|
Цитата(Сергей Борщ @ Dec 14 2015, 09:58)  SysTick timer и использует. Из ядра. И его описание, соответственно, в описании ядра. Кстати, и вектор SysTick_Handler находится среди векторов ядра (всяких xxxAbort_Handler и т.п.). . Спасибо. Главное для меня, что это отдельный от всех остальных таймер и если включено SysTick, то другие таймеры можно использовать. В доках на ядро F0 о таймере SysTick написано крайне мало. Даже Гугль ничего не находит  А вектор ( приоритет SysTick ) попробую переставить пониже в файле startup_stm32f051.s Вдруг подействует?
--------------------
-Кто-то работает на совесть, а кто-то на других заказчиков.-
|
|
|
|
|
Dec 14 2015, 08:38
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(=L.A.= @ Dec 14 2015, 10:51)  В доках на ядро F0 о таймере SysTick написано крайне мало. Даже Гугль ничего не находит  PM0215, "STM32F0xxx Cortex-M0 programming manual", раздел 4.4, 4 страницы с картинками. Гугль. Результатов: примерно 18 600. Попробуйте сменить интернет. Цитата(=L.A.= @ Dec 14 2015, 10:51)  А вектор ( приоритет SysTick ) попробую переставить пониже в файле startup_stm32f051.s Вдруг подействует? В файле вы можете перставлять что угодно, а в кристалле вектора прибиты к своим адресам гвоздями. Про приоритеты написано в том же описании в разделе 2.2, этот раздел аж из 6 страниц.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Dec 14 2015, 12:53
|

Знающий
   
Группа: Участник
Сообщений: 794
Регистрация: 4-09-06
Из: Москва(ЗелАО), РФ
Пользователь №: 20 055

|
Цитата(Сергей Борщ @ Dec 14 2015, 11:38)  PM0215, "STM32F0xxx Cortex-M0 programming manual", раздел 4.4, 4 страницы с картинками. Эту доку читал, но интересовался не описанием регистров, а связью SysTick c другими таймерами, о чем в в Programming manual не написали. Можно сравнить адреса регистров, но надо обратить специальное внимание, что я уже сделал. Теперь добавил в программу инициализацию TIM6 и установку прерывания по этому таймеру. ИАР выдает ошибку Error while running Linker : Error[Li005]: no definition for "NVIC_Init" [referenced from C:\ARM\2_PROJ\1Prb32F0\EWARMv5\Release\Obj\01PrbDsc.o] Что ему не нравится? Код * //######################### // /* TIM6 is used to */ // NVIC_InitTypeDef NVIC_InitStructure; TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; // /* TIMER clock enable */ // RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM6 , ENABLE);
/* Enable the TIMER global Interrupt */
NVIC_InitStructure.NVIC_IRQChannel = TIM6_DAC_IRQn; NVIC_InitStructure.NVIC_IRQChannelPriority = 0; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; // NVIC_Init(&NVIC_InitStructure); // TIM_TimeBaseStructure.TIM_Period = 5000; TIM_TimeBaseStructure.TIM_Prescaler = 32; TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; // TIM_TimeBaseInit(TIM6, &TIM_TimeBaseStructure); // /* TIM IT enable */ TIM_ITConfig(TIM6, TIM_IT_Update , ENABLE); // /* TIM enable counter */ // TIM_Cmd(TIM6, ENABLE); //-------
Сообщение отредактировал =L.A.= - Dec 14 2015, 13:18
--------------------
-Кто-то работает на совесть, а кто-то на других заказчиков.-
|
|
|
|
Сообщений в этой теме
data_stack Мелкие вопросы Nov 27 2015, 11:48 slavokhire5 1. да, можете посмотреть содержимое памяти по адре... Nov 27 2015, 14:11 =L.A.= Добавлю еще один мелкий ( но при этом большой ) во... Nov 29 2015, 08:00 aaarrr Цитата(=L.A.= @ Nov 29 2015, 11:00) Если ... Nov 29 2015, 08:12 =L.A.= Цитата(=L.A.= @ Nov 29 2015, 12:00) Есть ... Nov 29 2015, 08:18  aaarrr Цитата(=L.A.= @ Nov 29 2015, 11:18) Я так... Nov 29 2015, 08:40 Herz Цитата(data_stack @ Nov 27 2015, 13:48) И... Nov 29 2015, 09:48 data_stack Цитата(Herz @ Nov 29 2015, 10:48) Однако ... Nov 30 2015, 09:17 slavokhire5 Я за стандартные либы. Да, местами криво. Да, жру... Nov 29 2015, 15:35 aaarrr Цитата(slavokhire5 @ Nov 29 2015, 18:35) ... Nov 29 2015, 15:50 jcxz Цитата(slavokhire5 @ Nov 29 2015, 21:35) ... Nov 30 2015, 04:49 slavokhire5 Если написать свои библиотеки на всю переферию как... Nov 29 2015, 20:56 aaarrr Вся ли периферия "жирного" STM32 использ... Nov 29 2015, 21:23     =L.A.= Цитата(=L.A.= @ Dec 14 2015, 15:53) Error... Dec 14 2015, 15:01      aaarrr Цитата(=L.A.= @ Dec 14 2015, 18:01) Что б... Dec 14 2015, 15:49       Ruslan1 Вопрос по определению USB подключения на STM32F0:
... Dec 15 2015, 13:35        esaulenka Цитата(Ruslan1 @ Dec 15 2015, 16:35) Вопр... Jan 12 2016, 14:09 =L.A.= STM32F0xxx
Приоритет SysTick устанавливается прог... Jan 11 2016, 18:16 Сергей Борщ Цитата(=L.A.= @ Jan 11 2016, 20:16) Приор... Jan 11 2016, 21:35
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|