Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


Закрытая тема
Опции темы
Непрочитано 22.04.2015, 20:12   #221
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,628
Сказал спасибо: 115
Сказали Спасибо 813 раз(а) в 590 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: 1- wire STM8 из вольтметров

Сообщение от STM32F0 Посмотреть сообщение
В хедеры от СТМ!
ТАК ЭТО И ЕСТЬ НЕНАВИДИМЫЙ ТОБОЙ SPL!!!!!!!!!!!!!!
Реклама:
__________________
Союз Советских Социалистических Округов Северной Америки
eddy вне форума  
Непрочитано 22.04.2015, 20:12   #222
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: 1- wire STM8 из вольтметров

Вот -почитай рекомендации ARM:
Цитата:
Peripheral Access
Describes naming conventions, requirements, and optional features for accessing peripherals. More...

Each peripheral provides a data type definition with a name that is composed of a prefix ‹device abbreviation›_ and the ‹peripheral name›_, for example LPC_UART for the device LPC and the peripheral UART. The intention is to avoid name collisions caused by short names. If more peripherals exist of the same type, identifiers have a postfix consisting of a digit or letter, for example LPC_UART0, LPC_UART1.

The data type definition uses the standard C data types from the ANSI C header file ‹stdint.h›. IO Type Qualifiers are used to specify the access to peripheral variables. IO Type Qualifiers are indented to be used for automatic generation of debug information of peripheral registers and are defined as shown below:
Код:
#define   __I     volatile const       
#define   __O     volatile             
#define   __IO    volatile
The following typedef is an example for a UART. ‹device abbreviation›_UART_TypeDef: defines the generic register layout for all UART channels in a device.
Код:
typedef struct
{
  union {
  __I  uint8_t  RBR;                  /* Offset: 0x000 (R/ )  Receiver Buffer Register            */
  __O  uint8_t  THR;                  /* Offset: 0x000 ( /W)  Transmit Holding Register           */
  __IO uint8_t  DLL;                  /* Offset: 0x000 (R/W)  Divisor Latch LSB                   */
       uint32_t RESERVED0;
  };
  union {
  __IO uint8_t  DLM;                  /* Offset: 0x004 (R/W)  Divisor Latch MSB                   */
  __IO uint32_t IER;                  /* Offset: 0x004 (R/W)  Interrupt Enable Register           */
  };
  union {
  __I  uint32_t IIR;                  /* Offset: 0x008 (R/ )  Interrupt ID Register               */
  __O  uint8_t  FCR;                  /* Offset: 0x008 ( /W)  FIFO Control Register               */
  };
  __IO uint8_t  LCR;                  /* Offset: 0x00C (R/W)  Line Control Register               */
       uint8_t  RESERVED1[7];
  __I  uint8_t  LSR;                  /* Offset: 0x014 (R/ )  Line Status Register                */
       uint8_t  RESERVED2[7];
  __IO uint8_t  SCR;                  /* Offset: 0x01C (R/W)  Scratch Pad Register                */
       uint8_t  RESERVED3[3];
  __IO uint32_t ACR;                  /* Offset: 0x020 (R/W)  Autobaud Control Register           */
  __IO uint8_t  ICR;                  /* Offset: 0x024 (R/W)  IrDA Control Register               */
       uint8_t  RESERVED4[3];
  __IO uint8_t  FDR;                  /* Offset: 0x028 (R/W)  Fractional Divider Register         */
       uint8_t  RESERVED5[7];
  __IO uint8_t  TER;                  /* Offset: 0x030 (R/W)  Transmit Enable Register            */
       uint8_t  RESERVED6[39];
  __I  uint8_t  FIFOLVL;              /* Offset: 0x058 (R/ )  FIFO Level Register                 */
} LPC_UART_TypeDef;
To access the registers of the UART defined above, pointers to a register structure are defined. In this example ‹device abbreviation›_UART# are two pointers to UARTs defined with above register structure.
Код:
#define LPC_UART2             ((LPC_UART_TypeDef      *) LPC_UART2_BASE    )
#define LPC_UART3             ((LPC_UART_TypeDef      *) LPC_UART3_BASE    )
The registers in the various UARTs can now be referred in the user code as shown below:
Код:
LPC_UART1-›DR   // is the data register of UART1.
Minimal Requirements

To access the peripheral registers and related function in a device, the files device.h and core_cm#.h define as a minimum:

The Register Layout Typedef for each peripheral that defines all register names. RESERVED is used to introduce space into the structure for adjusting the addresses of the peripheral registers.

Example:
Код:
typedef struct
{
  __IO uint32_t CTRL;                 /* Offset: 0x000 (R/W)  SysTick Control and Status Register */
  __IO uint32_t LOAD;                 /* Offset: 0x004 (R/W)  SysTick Reload Value Register       */
  __IO uint32_t VAL;                  /* Offset: 0x008 (R/W)  SysTick Current Value Register      */
  __I  uint32_t CALIB;                /* Offset: 0x00C (R/ )  SysTick Calibration Register        */
} SysTick_Type;
Base Address for each peripheral (in case of multiple peripherals that use the same register layout typedef multiple base addresses are defined).

Example:
Код:
#define SysTick_BASE (SCS_BASE + 0x0010)            /* SysTick Base Address     */
Access Definitions for each peripheral. In case of multiple peripherals that are using the same register layout typdef, multiple access definitions exist
Код:
(LPC_UART0, LPC_UART2).
Example:
Код:
#define SysTick ((SysTick_Type *) Systick_BASE)    /* SysTick access definition */
These definitions allow accessing peripheral registers with simple assignments.

Example:
Код:
SysTick-›CTRL = 0;
__________________
Осторожно , злой кот

Последний раз редактировалось dosikus; 22.04.2015 в 20:16.
dosikus вне форума  
Непрочитано 22.04.2015, 20:13   #223
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,628
Сказал спасибо: 115
Сказали Спасибо 813 раз(а) в 590 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: 1- wire STM8 из вольтметров

Сообщение от dosikus Посмотреть сообщение
А у тебя просто фобия
Я просто взглянул на SPL для STM8, испугался и удалил это говно.
И заголовочные файлы там — говно! Все через задницу!
Камни у STM более-менее, но софт.. Такое впечатление, что им там все библиотеки пишут пара десятков китайцев/индусов за миску риса в сутки!!!

И насрать мне на эти дебильные рекомендации! Ладно бы, у меня gcc мог код делать: он умеет оптимизировать всю эту чепуху со структурами, а вот sdcc оптимизировать так круто не умеет! И в итоге все эти долбаные структуры превратятся не в "регистр=значение", а в разыменование 100500 указателей! И 2-3 операции магическим образом превратятся в 100!!!

И да, каким раком рекомендации ARM к STM8???
__________________
Союз Советских Социалистических Округов Северной Америки
eddy вне форума  
Непрочитано 22.04.2015, 20:13   #224
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: 1- wire STM8 из вольтметров

Сообщение от eddy Посмотреть сообщение
ТАК ЭТО И ЕСТЬ НЕНАВИДИМЫЙ ТОБОЙ SPL!!!!!!!!!!!!!!
eddy, не будь так туп, почитай мои последние посты ...
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 22.04.2015, 20:17   #225
STM32F0
Заблокирован
 
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
STM32F0 на пути к лучшему
По умолчанию Re: 1- wire STM8 из вольтметров

Сообщение от eddy Посмотреть сообщение
ТАК ЭТО И ЕСТЬ НЕНАВИДИМЫЙ ТОБОЙ SPL!!!!!!!!!!!!!!
- Мужчина, вы пьяны!
- А у вас, ик, ноги кривые!
STM32F0 вне форума  
Непрочитано 22.04.2015, 20:17   #226
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: 1- wire STM8 из вольтметров

Сообщение от eddy Посмотреть сообщение
И да, каким раком рекомендации ARM к STM8???
Ты по диагонали читаешь?

Рекомендации ARM для описания периферии.
Повторю еще раз - для особо понятливых :
Что плохого в том, что производитель описывает периферию в одинаковом стиле?
При том что и периферия - близнецы.
Вывод - рекомендовано ARM , не говнокод.
А у тебя точно фобия и зашоренность...
__________________
Осторожно , злой кот

Последний раз редактировалось dosikus; 22.04.2015 в 20:20.
dosikus вне форума  
Непрочитано 22.04.2015, 20:18   #227
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,628
Сказал спасибо: 115
Сказали Спасибо 813 раз(а) в 590 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: 1- wire STM8 из вольтметров

dosikus, еще раз: каким боком ARM к STM8?
У STM32 дофигища флеша, там запросто можно написать структура-›поле.битовое_поле = значение, и хай оно займет 8..16 32-битных операций — насрать! А у STM8 флеша мало, там так распоясываться нельзя!
__________________
Союз Советских Социалистических Округов Северной Америки
eddy вне форума  
Непрочитано 22.04.2015, 20:19   #228
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,628
Сказал спасибо: 115
Сказали Спасибо 813 раз(а) в 590 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: 1- wire STM8 из вольтметров

Вот же флуд раздули на пустом месте ☺

И, что интересно, темы вообще никаким боком не касающийся! Как обычно...

Кому не нравится мой код — пишите свой. Я ничего никому не навязываю.
__________________
Союз Советских Социалистических Округов Северной Америки
eddy вне форума  
Непрочитано 22.04.2015, 20:20   #229
STM32F0
Заблокирован
 
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
STM32F0 на пути к лучшему
По умолчанию Re: 1- wire STM8 из вольтметров

Сообщение от eddy Посмотреть сообщение
а вот sdcc оптимизировать так круто не умеет! И в итоге все эти долбаные структуры превратятся не в "регистр=значение", а в разыменование 100500 указателей! И 2-3 операции магическим образом превратятся в 100!!!
Фтопку такое гуано, вместе с пингуинами!
STM32F0 вне форума  
Непрочитано 22.04.2015, 20:21   #230
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,628
Сказал спасибо: 115
Сказали Спасибо 813 раз(а) в 590 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: 1- wire STM8 из вольтметров

Сообщение от STM32F0 Посмотреть сообщение
Фтопку такое гуано
Фтопку тебя, дядя!
А из свободных компиляторов только sdcc умеет STM8. И то, совсем недавно поддержка появилась.
Анально огороженные рабы пусть и дальше воруют всякие космики-яры...
__________________
Союз Советских Социалистических Округов Северной Америки
eddy вне форума  
Закрытая тема

Закладки


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как запретить различные запросы браузера? mix10 Отвлекитесь, эмбеддеры! 54 31.01.2015 17:58
ATMega 168 не отвечает на запросы программатора r0st Микроконтроллеры, АЦП, память и т.д 36 06.03.2012 23:19


Часовой пояс GMT +4, время: 09:22.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot