Кто любит RISC в жизни, заходим, не стесняемся.
Вт июн 22, 2021 11:01:54
COKPOWEHEU писал(а):Вот например как можно организовать порты для ATmega8
а если добавить одну звездочку, то можно вместо -> использовать точку
- Код:
#define GPIOB (*(volatile GPIO*)(0x0036))
#define GPIOC (*(volatile GPIO*)(0x0033))
#define GPIOD (*(volatile GPIO*)(0x0030))
int main(){
GPIOB.DDR = 1;
GPIOB.PORT = 2;
GPIOB.PIN = 3;
}
многим точечки удобнее стрелочек
Вт июн 22, 2021 11:51:22
В stm32 используются стрелочки, я на него похожим делал чтобы СКАЗОЧНИК'у проще было понять принцип.
А для практического применения в AVR это просто не нужно, да и не всегда возможно. Вон UART распилили на несколько частей с дыркой посередине.
Вт июн 22, 2021 14:57:07
Кто может помочь?
Купил девбоард STM32MP157A-DK1.
Как правильно подключить LRCLK и MCLK на I2S к STM32MP157?
Всем спасибо, кто откликнется.
Ребята, кто может помочь?
Ср июн 23, 2021 07:45:08
Валяется у меня один блюпил прошитый под stlink!(прошил когда-то т.к. китайский свисток сгорел а надо было чем-то шить) времена тяжёлые пришли хотел его стереть а хрен там залочен! даже просто стереть не дает пробовал много чем... кто знает как стереть?
Fahrenheite,
https://narodstream.ru/programmirovanie-mk-stm32/ есть много инфы или тут
http://we.easyelectronics.ru/STM32/stm3 ... tenko.html
Ср июн 23, 2021 08:37:30
Снять защиту на запись. Я несколько раз лочил контроллеры, потом восстанавливал.
stm32flash -k /dev/ttyUSB0
Ср июн 23, 2021 09:11:37
Спасибо родил уже в STM32 ST-LINK Utility в меню Option Bytes но тока через swd а я то через uart терзал...
Ср июн 23, 2021 16:00:51
do-vitas, у него игрушка не для начинающих, начинающим на ней разве что готовые продукты юзать. что залил, от того описание и курить.
Пн июн 28, 2021 16:18:00
Мужики, а подскажите мне еще чуток. )
Есть вот такие объявления струкур в сандартном заголовочном файле:
- Код:
typedef struct
{
__IO uint16_t CRH;
uint16_t RESERVED0;
__IO uint16_t CRL;
uint16_t RESERVED1;
__IO uint16_t PRLH;
uint16_t RESERVED2;
__IO uint16_t PRLL;
uint16_t RESERVED3;
__IO uint16_t DIVH;
uint16_t RESERVED4;
__IO uint16_t DIVL;
uint16_t RESERVED5;
__IO uint16_t CNTH;
uint16_t RESERVED6;
__IO uint16_t CNTL;
uint16_t RESERVED7;
__IO uint16_t ALRH;
uint16_t RESERVED8;
__IO uint16_t ALRL;
uint16_t RESERVED9;
} RTC_TypeDef;
Правильно я понимаю, чо uint16_t RESERVED7; это заглушки? Есть и 32 битные такие. Или это не правильно?
Пн июн 28, 2021 16:43:52
СКАЗОЧНИК, правильно. В RM есть картинка распределения этих регистров в памяти. И вместо того, чтобы сделать их 32-битными, ST использовали только младшие 2 байта, а старшие типа на будущее зарезервировали, поэтому и нужны заглушки, чтобы не обращаться к регистру как к 32-битному. Хотя, сдается мне, что пока если не писать в старшую половину, легко можно переделать это так:
- Код:
ypedef struct
{
__IO uint32_t CRH;
__IO uint32_t CRL;
...
Кстати, у F103 в CRH используется лишь 3 младших бита, а в CRL - 5! В общем, правильней было бы эту структуру под F103 несколько иначе расписать (еще и с битовыми полями)...
Пн июн 28, 2021 16:55:07
Спасибо. )
Пн июн 28, 2021 22:22:36
Это два фрагмента stm32f103xb.h
Что вы тут видите?
- Код:
typedef struct
{
__IO uint32_t CRL;
__IO uint32_t CRH;
__IO uint32_t IDR;
__IO uint32_t ODR;
__IO uint32_t BSRR;
__IO uint32_t BRR;
__IO uint32_t LCKR;
} GPIO_TypeDef;
...
typedef struct
{
__IO uint32_t CRH;
__IO uint32_t CRL;
__IO uint32_t PRLH;
__IO uint32_t PRLL;
__IO uint32_t DIVH;
__IO uint32_t DIVL;
__IO uint32_t CNTH;
__IO uint32_t CNTL;
__IO uint32_t ALRH;
__IO uint32_t ALRL;
} RTC_TypeDef;
Если не знать, что это на одном устройстве, то можно было бы сказать, что один блок с тупоконечной, а другой с остроконечной платформы. Как и с какого перепугу они в таком виде на одном устройстве оказались? Дичь какая-то.
Пн июн 28, 2021 23:06:39
Не понимаю вопроса... Тут же вроде указаны две разные структуры, относящиеся к разным блоком контроллера. И что означает тупоконечная и остроконечная платформа?
Вт июн 29, 2021 00:30:02
СКАЗОЧНИК, тупоконечная - big endian (многие армы, кстати, умеют "в оба конца"), остроконечная - "little endian" (подавляющее большинство процессоров и МК). Та же структура для тупоконечных выглядела бы так:
- Код:
typedef struct
{
uint16_t RESERVED0;
__IO uint16_t CRH;
uint16_t RESERVED1;
__IO uint16_t CRL;
...
Вт июн 29, 2021 09:30:30
Вы в частности про эти строки говорите?
- Код:
typedef struct
{
__IO uint32_t CRL;
__IO uint32_t CRH;
.....
} GPIO_TypeDef;
...
typedef struct
{
__IO uint32_t CRH;
__IO uint32_t CRL;
__IO uint32_t PRLH;
__IO uint32_t PRLL;
__IO uint32_t DIVH;
__IO uint32_t DIVL;
__IO uint32_t CNTH;
__IO uint32_t CNTL;
__IO uint32_t ALRH;
__IO uint32_t ALRL;
} RTC_TypeDef;
То что перевернуты старшие и младшие регистры?
Ср июн 30, 2021 00:13:39
СКАЗОЧНИК, тупоконечная - big endian (многие армы, кстати, умеют "в оба конца"), остроконечная - "little endian" (подавляющее большинство процессоров и МК). Та же структура для тупоконечных выглядела бы так:
- Код:
typedef struct
{
uint16_t RESERVED0;
__IO uint16_t CRH;
uint16_t RESERVED1;
__IO uint16_t CRL;
...
Ну и да. Странно видеть в 32-разрядном МК 32-рарядный счетчик, где 16-битные его половинки не лежат вместе. Вообще оно-малия -- шестнадцатибитная периферия неродной оконечности.
Ср июн 30, 2021 00:26:39
В 32-битном МК могут быть не 32-битные шины к периферии. По разным причинам.
Ср июн 30, 2021 10:46:06
Ну и да. Странно видеть в 32-разрядном МК 32-рарядный счетчик, где 16-битные его половинки не лежат вместе.
А как вам буферы для USB, где ВЕСЬ буфер 16-битный, но доступ из кода как будто 32-битный. То есть с точки зрения кода там постоянно чередуются 16-битные данные - 16-битная дырка.
Ср июн 30, 2021 11:36:03
COKPOWEHEU, никак, разработчики МК принимали жестокую дурь!
Ср июн 30, 2021 13:22:08
Eddy_Em, Да вы-то знаете, конечно. И про наркоманский EPnR тоже.
Чт июл 01, 2021 18:40:08
В 32-битном МК могут быть не 32-битные шины к периферии. По разным причинам.
В жизни все может быть, но где тут "не 32-битные шины к периферии" я не вижу.
- Вложения
-
- 2021-07-01_183754.jpg
- (88.81 KiB) Скачиваний: 320
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.