|
Прошивка мк FRDM-kw40z |
|
|
|
Apr 25 2016, 20:45
|
Группа: Участник
Сообщений: 11
Регистрация: 25-04-16
Пользователь №: 91 464

|
Доброго времени суток уважаемые форумчане. Вышло так что первая плата с которой мне пришлось начать работать это kw40z и в дополнение к покупке usb-kw40z для меня проблемно выловить нужные части кода в демо софте, что бы изменить то что я хочу, А голых примеров в интернете я не нашел. Прошу о помощи, помогите со скилетом чипа (помигать, помигать после нажатия кнопок, помигать по таймеру и другие простейшие вещи) очень хочется разобраться а наглядного примера, что и куда жать, нету можно скайп, вк или тут если если ребята которые уже работали и могут помочь то я бы даже мог взять пару часов уроков в скайпе, естественно не бесплатно!
извините если не в том разделе
|
|
|
|
2 страниц
< 1 2
|
 |
Ответов
(15 - 21)
|
May 2 2016, 08:40
|
Группа: Участник
Сообщений: 11
Регистрация: 25-04-16
Пользователь №: 91 464

|
Цитата(AlexandrY @ May 1 2016, 11:34)  А какой вариант приложения вы используете, bare metal или c использованием FreeRTOS? Так у вас снифер все таки работает или нет? я юзаю bare metal но сейчас думаю подключу FreeRtos Usb-kw не тестил пока, так что на счёт снифера пока не отвечу. Цитата(AlexandrY @ May 1 2016, 11:34)  А то там ведь надо проверку кнопки вставлять в тело активной задачи. А подходящие активные задачи еще надо найти. Проверка кнопки у меня стоит в колбеке и проверка сама, как я понял, работает. Просто там постоянно 0, и даже при нажатии ничего не меняется. Ладно если по кнопке хрен разберешься, то подскажите куда залезть что бы найти команду на Delay. Облазил весь код и нашел максимум osa_timedelay() и то максимальное значение в нём это 23 выглядит код моргающего леда вот так: Код void lptmr_call_back(void) { LED1_ON; OSA_TimeDelay(23); LED1_OFF; OSA_TimeDelay(23); } Частота вызова функции колбек TMR_PERIOD 500000U
|
|
|
|
|
May 2 2016, 09:26
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(mrprim @ May 2 2016, 11:40)  я юзаю bare metal но сейчас думаю подключу FreeRtos Проверка кнопки у меня стоит в колбеке и проверка сама, как я понял, работает. Просто там постоянно 0, и даже при нажатии ничего не меняется. Ладно если по кнопке хрен разберешься, то подскажите куда залезть что бы найти команду на Delay. Облазил весь код и нашел максимум osa_timedelay() и то максимальное значение в нём это 23  Чтобы точно знать какие пины как настроены я применяю собственную схему инициализации. Можно посмотреть вот в этом файле - https://github.com/Indemsys/K66BLEZ1/blob/m...K66BLEZ1_GPIO.cФункция Config_pinЭто для MK66, но и для MKW40 подойдет в принципе А в калбэке LP таймера я бы не рисковал делать длиные задержки. Эти таймера могут использоваться Host и Controller стеками BLE. Может быть нарушена их работоспособность. С LED-ами же во фреймворке есть специальный механизм настройки вызова калбэков по таймеру - TMR_StartIntervalTimer В файле LED.c от там продемонстрирован в функции LED_StartFlash. И для формирования нужных длительностей сигналов на LED применяется машина состояний со счетчиком состояний, а не задержки. Если же желание делать на задержках очень велико, то надо создавать отдельную задачу для светодиода с приоритетом поменьше и уж там можно вставлять какие угодно задержки. Но надо использовать RTOS тогда.
|
|
|
|
|
May 4 2016, 16:50
|
Группа: Участник
Сообщений: 11
Регистрация: 25-04-16
Пользователь №: 91 464

|
Цитата(AlexandrY @ May 2 2016, 10:26)  Чтобы точно знать какие пины как настроены я применяю собственную схему инициализации. https://github.com/Indemsys/K66BLEZ1/blob/m...Z1_GPIO.c"]https://github.com/Indemsys/K66BLEZ1/blob/m...K66BLEZ1_GPIO.c[/url] Функция Config_pinЭто для MK66, но и для MKW40 подойдет в принципе Кстати очень удобный конфиг распиновки, не всё там нашел, но как я понимаю можно любой макрос создать. Цитата(AlexandrY @ May 2 2016, 10:26)  А в калбэке LP таймера я бы не рисковал делать длиные задержки. Эти таймера могут использоваться Host и Controller стеками BLE. Может быть нарушена их работоспособность. на счёт этого, спасибо. Тут я погорячился что в колбек закидывал основные функции Одно я понял, что часы копания в документациях помогут в любой проблеме, но это бешеная куча времени. Вопросов у меня возникает очень много, поэтому я их буду задавать по мере изучения платы, может кто найдет темку. А вы по мере возможности отвечайте, мне зачастую помогает ваша информация. Следующий вопрос такой. Мне пришла BreadBoard и MCP3008 мой камень подключается к ней через SPI шину. а дальше разные игрушки подключаем уже на MCP. Работали с SPI, подскажете что меня спасёт?
|
|
|
|
|
May 4 2016, 19:49
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(mrprim @ May 4 2016, 19:50)  Мне пришла BreadBoard и MCP3008 мой камень подключается к ней через SPI шину. а дальше разные игрушки подключаем уже на MCP. Работали с SPI, подскажете что меня спасёт?  Вот как раз чтобы не связываться с дискретной SPI периферией я и поставил на свой модуль с MKW40 дополнительный микроконтроллер MK66 И теперь могу на этом сделать вот такой PLC с 20-ю 16-и битными аналоговыми входами.
SPI у Kinetis работает надежно. В одном из моих проектов MK60 работает по SPI с Wi-Fi чипом на скорости 20 Mbit по DMA. Единственно при использовании DMA не удалось сделать автоматическое выставление CS. Из-за чего не вышло целые транзакции пакетов организовывать автоматом по DMA.
|
|
|
|
|
May 4 2016, 22:06
|
Группа: Участник
Сообщений: 11
Регистрация: 25-04-16
Пользователь №: 91 464

|
Цитата(AlexandrY @ May 4 2016, 20:49)  Вот как раз чтобы не связываться с дискретной SPI периферией я и поставил на свой модуль с MKW40 дополнительный микроконтроллер MK66 И теперь могу на этом сделать вот такой PLC с 20-ю 16-и битными аналоговыми входами. SPI у Kinetis работает надежно. В одном из моих проектов MK60 работает по SPI с Wi-Fi чипом на скорости 20 Mbit по DMA. Единственно при использовании DMA не удалось сделать автоматическое выставление CS. Из-за чего не вышло целые транзакции пакетов организовывать автоматом по DMA. К сожалению у меня нету возможности поставить доп модуль, и мне придется работать в мкс через дискретный spi. Работали ли вы с ним, и есть ли примеры на kinetis с обработкой информации через spi, для того что бы хоть понять принцип взаимодействия
|
|
|
|
|
May 15 2016, 16:29
|
Группа: Участник
Сообщений: 11
Регистрация: 25-04-16
Пользователь №: 91 464

|
Доброго времени суток еще раз, на данный момент я разобрался с SPI подключением(почти), не всегда работает правильно. Если будет время чуть позже опишу проблему. Сейчас задача стоит следующая, имею 2 платы kw40z, нужно установить между ними i2c master slave соеденение и с мастер борда получить доступ к данным акселерометра fxos8700cq так вот, наигравшись с spi( к примеру для того что бы получить доступ к подключенной плате MCU3008 - я отправлял 3 байта(0x01, "далее байт порта на чипе", 0x00) тем самым просто отправив данные по SPI я получал ответ от нужного нам порта на MCU3008). Так вот i2c работает иначе, я прочитал даташит, нашел там список адресов к примеру who-i-am = 0x0d. У меня возник вопрос, каким образом мне получить ответ от fxos8700cq по i2c Нужно отправить сам байт с адресом? или Нужно отправить 0xFF занеся адрес 0x0d в адрес конфиг?
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|