Чт май 30, 2019 19:46:18
Чт май 30, 2019 21:02:39
Чт май 30, 2019 21:10:23
Чт май 30, 2019 21:31:11
Чт май 30, 2019 21:46:12
Не пользовался этими функциями.ПростоНуб писал(а):Мурик, получается действительно не заглядывали
AVR и ARM это не одно и тоже.Novice user писал(а):Я заказывал книгу Белова "Разработка устройств на мк AVR",с диском
Можно и на МК попробовать. Только отладку нужно настроить в ОЗУ чтобы не перезаписывать много раз флеш.ПростоНуб писал(а):Причем пробовать их примеры не на МК, а на обычном компе, например с GCC.
Чт май 30, 2019 22:23:16
Пт май 31, 2019 05:54:30
static int32_t I2C_Initialize (ARM_I2C_SignalEvent_t cb_event, I2C_RESOURCES *i2c) {
int32_t status;
uint32_t lock;
status = ARM_DRIVER_OK;
if ((i2c->status.state & I2C_INIT) == 0U) {
/* Clear run-time resources */
memset ((void *)i2c, 0, sizeof(I2C_RESOURCES));
/* Register application callback */
i2c->cb_event = cb_event;
do {
lock = LockSet(&I2C.CallLock);
if (lock == 1U) {
/* Increment the number of initializations */
I2C.InitState += 1U;
if (I2C.InitState == 1U) {
/* Initialize resources */
I2C.Active = NULL;
I2C.Qin = 0U;
I2C.Qout = 0U;
I2C.PowerState = 0U;
I2C.BusSpeed = 0U;
/* Call the underlying driver */
status = Driver_I2C->Initialize (I2C_MultiSlaveEvent);
}
if (status == ARM_DRIVER_OK) {
i2c->status.state = I2C_INIT;
} else {
I2C.InitState = 0U;
}
LockClr (&I2C.CallLock);
}
else {
osThreadYield();
}
} while (lock == 0U);
}
return (status);
}
Пт май 31, 2019 06:12:08
Пт май 31, 2019 07:27:42
Пт май 31, 2019 08:43:30
Пт май 31, 2019 08:47:14
Пт май 31, 2019 08:55:04
Пт май 31, 2019 09:02:47
Пт май 31, 2019 09:10:49
Пт май 31, 2019 10:41:03
Пт май 31, 2019 10:57:27
Пт май 31, 2019 11:21:01
Пт май 31, 2019 11:29:22
Палочка | это OR. XOR это ^. https://ru.wikipedia.org/wiki/Операторы ... _операторыMicrotech писал(а):Я могу запомнить, почему палочка это xor
Нужно больше практики и тогда станет проще и язык удобнее. Все дело в том что настолько привыкли писать на бейсике что изменение синтаксиса вызывает бурную негативную реакцию. Со временем по мере программирования на Си это пройдет. Но если даже не пытаться перейти на Си, конечно же негативная реакция никуда не денется.Microtech писал(а):Но язык Си, даже если я запомню все эти воиды и палочки с галочками, не станет удобным языком для реализации задумок
В Си это есть, но синтаксис немного другой.Microtech писал(а):так как привычнее массивы for...next , do...loop
Представьте что в бейсике вместоMicrotech писал(а):shift вместо дурацких птичек >>
If a <> b Then
If a NoEqual b Then
Поверьте, дело в привычке. Просто вы сильно привыкли к синтаксису бейсика. Какой язык лучше русский или английский? Большинство русскоязычных ответят что русский, а англичане и американцы назовут английский язык. То есть люди выберут язык который лучше всего знают и которым пользуются вне зависимости от того на самом деле он лучший или нет.Microtech писал(а):Проблема в синтаксисе.
Это не так. В зависимости от компилятора машинный код может сильно отличаться. Обычно Си компиляторы лучше оптимизируют код из-за чего он компактнее и быстрее работает. Замечу что дело не в языке, а в команде программистов, разрабатывающих компилятор. Чем опытнее она, тем лучше будет компилятор.Microtech писал(а):Сама программа строится одинаково во всех компиляторах.
Сравнение производительности математических вычислений. http://purebasic.mybb.ru/viewtopic.php?id=717#p7651VladislavS писал(а):Голословно. Пример в студию!
В Cortex-M?ПростоНуб писал(а):Но не на нулевом кольце защиты в ARM
Пт май 31, 2019 12:01:16
Пт май 31, 2019 13:09:26