-
- Всем спасибо! Остановился на GPIOA->BSRR = 0x00FF0000 | command; - buslik.be(07.10.2013 13:26, )
- И что получится после 2-х команд 0x55 0xAA ? :) - Nikolay801_(07.10.2013 15:56)
- если вторая АА, то 0х??АА и будет. Читайте ниже - koyodza(07.10.2013 16:13)
- упс, извините, фигню сморозил. - Nikolay801_(07.10.2013 16:16)
- если вторая АА, то 0х??АА и будет. Читайте ниже - koyodza(07.10.2013 16:13)
- Совсем другое дело - даже приятно посмотреть :) - Ксения(07.10.2013 15:54)
- И что получится после 2-х команд 0x55 0xAA ? :) - Nikolay801_(07.10.2013 15:56)
- Счастье есть! Nikolay801_(348 знак., 05.10.2013 11:28 - 11:30)
- Счастье, это когда ... AVR на XMeg'е :). Мало того, что все регистры имеют уникальные имена, но и бит можно выставить/стереть/инвертировать в одну команду, без OR/AND/XOR-операции. Например: Ксения(393 знак., 06.10.2013 19:59 - 20:03)
- в каких задачах нужно дергать за 1 такт ? - zeleny(06.10.2013 23:23)
- за один такт не может. Одной ассемблерной командой за 2..3 такта может. Без OR/AND/XOR, при том не только битами GPIO, но и почти любыми другими в СМ3 можно управлять так же - koyodza(06.10.2013 20:56)
- Не может ARM такое. Но оно надо это дёрганье за такт? Думаю - не надо. - Apтём(06.10.2013 20:11)
- ЗЫ и че Вы все на эстешную библиотеку так ополчились, вполне нормально с ней писать. Да и ошибок меньше, особенно на фазе вхождения в тему. Смысл отказываться от библиотек появится с приходом полного и глубокого понимания. И наличия энного ut1wpr(106 знак., 05.10.2013 19:00)
- +1 Стараюсь пользоваться именно библиотекой. В папке с библиотекой есть мощный хелп с описанием всех функций и макросов. Если нужно - смотрю как реализован код в библиотеке и переделываю под себя. Без библиотеки поднимал только емкостную КТ(12 знак., 06.10.2013 22:36)
- Не все умеют читать.Многоие только писать. - plainuser(07.10.2013 12:43)
- В чем фан написания своей, уникальной, функции дергания пином? - Nikolay801_(06.10.2013 19:20)
- Фан в том, что в своей функции (или макросе) не проверяются параметры на соответствие чему-то там. Что уже быстрее исполняется. И вообще, "универсальность" - тот еще тормоз. МК предполагают использование в реал тайме, в отличие от винды и пингвина. - _basile(13.10.2013 14:28)
- Функции-может и нет, макросы прописать просто пришлось.. - Vladimir Ljaschko(06.10.2013 19:24)
- Именно так. Для дерганья пином вызывать функцию - онанизм. - _basile(13.10.2013 14:30)
- пробовал осилить их Motor Control Library - не смог, идиотизм полный. Псевдо-ООП на С, индусокод. - zeleny(05.10.2013 21:44)
- попробуй USB запустить на основе STM библиотеки или чего попроще, CAN например. - User_(05.10.2013 21:35)
- пробовал, запустил, все перечисленное работает. - Nikolay801_(06.10.2013 19:03)
- "из коробки" USB (VCP) в STM32 не дописан и работать будет с глюками. CAN со стандартным идентификатором запустится только после тщательного изучения кода библиотеки, т.к. идентификаторы и фильтры, при инициализации, пишутся со сдвигом. Пример User_(141 знак., 07.10.2013 12:39)
- USB VCP был в последствии перепилен на кейловский из ртлиб, CAN используем с короткими идентификаторами, сей чудный глюк был мимоходом пофиксен год назад и этот факт не отложился в памяти. Ай-два-си не используем, надо будет заведем. Для текущих Nikolay801_(117 знак., 07.10.2013 13:44)
- в том то и проблема библиотеки от STM, вроде и работает, но иногда через одно место - User_(07.10.2013 15:42)
- USB VCP был в последствии перепилен на кейловский из ртлиб, CAN используем с короткими идентификаторами, сей чудный глюк был мимоходом пофиксен год назад и этот факт не отложился в памяти. Ай-два-си не используем, надо будет заведем. Для текущих Nikolay801_(117 знак., 07.10.2013 13:44)
- "из коробки" USB (VCP) в STM32 не дописан и работать будет с глюками. CAN со стандартным идентификатором запустится только после тщательного изучения кода библиотеки, т.к. идентификаторы и фильтры, при инициализации, пишутся со сдвигом. Пример User_(141 знак., 07.10.2013 12:39)
- пробовал, запустил, все перечисленное работает. - Nikolay801_(06.10.2013 19:03)
- Не, ни вапрос. Тока чтобы пином дернуть - функцию вызывать, ага, она еще че-то там проверяет, типа - прально-ли параметры засунуты... винда полная. Нам такое чудо нах не надо. - _basile(05.10.2013 19:16)
- А кто заставляет? Я ведь не про ногодрыгу. Одноразовые иниты - более достойное место для либы. А вообще - ваш выбор. Я предупредил, я против холивара. ut1wpr(62 знак., 05.10.2013 21:25)
- При ногодрыге чаще по одному биту нужно дергать - там bitband рулит - Vit(05.10.2013 21:28)
- А кто заставляет? Я ведь не про ногодрыгу. Одноразовые иниты - более достойное место для либы. А вообще - ваш выбор. Я предупредил, я против холивара. ut1wpr(62 знак., 05.10.2013 21:25)
- +1 Стараюсь пользоваться именно библиотекой. В папке с библиотекой есть мощный хелп с описанием всех функций и макросов. Если нужно - смотрю как реализован код в библиотеке и переделываю под себя. Без библиотеки поднимал только емкостную КТ(12 знак., 06.10.2013 22:36)
- Счастье, это когда ... AVR на XMeg'е :). Мало того, что все регистры имеют уникальные имена, но и бит можно выставить/стереть/инвертировать в одну команду, без OR/AND/XOR-операции. Например: Ксения(393 знак., 06.10.2013 19:59 - 20:03)
- если это М3, а не М0, то быстрее всего будет работать примерно такой вариант и его производные. При том обращение к порту будет атомарным, чего нет в Вашем варианте koyodza(339 знак., 04.10.2013 22:38)
- Не, мой быстрее. :) Там в рефмане есть примечание, что бит установки имеет преимущество над сбросом. - vmp(04.10.2013 22:45)
- Ух, шайтан! - SciFi(05.10.2013 08:44)
- Гы, а я переводил has priority не как преимущество в смысле подавления другого действия, а как приоритет по времени действия. Сначала типа Set, потом типа Reset. Век живи век учись) - Юра(04.10.2013 23:33, )
- точно приоритетнее? Тогда да, Ваш быстрее. Спасибо, посмотрю обязательно - koyodza(04.10.2013 22:53)
- Не, мой быстрее. :) Там в рефмане есть примечание, что бит установки имеет преимущество над сбросом. - vmp(04.10.2013 22:45)
- GPIOA->BSRR = 0x00FF0000 | command. Библиотекой предпочитаю не пользоваться. - vmp(04.10.2013 22:23)
- GPIOA->ODR = (GPIOA->ODR & 0xFF00) | command; - zeleny(04.10.2013 13:30)
- GPIO_Write(GPIOA,(GPIO_ReadOutputData(GPIOA)&0xFF00)|command) :)) - MBedder(04.10.2013 12:47)
- Так конечно короче - неужели нельзя в порт писать как то так: buslik.be(36 знак., 04.10.2013 13:08, )
- Всем спасибо! Остановился на GPIOA->BSRR = 0x00FF0000 | command; - buslik.be(07.10.2013 13:26, )