Strict Standards: Declaration of action_plugin_importoldchangelog::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /home/aqq20189/public_html/embedders.org/kurt/wiki/lib/plugins/importoldchangelog/action.php on line 8

Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in /home/aqq20189/public_html/embedders.org/kurt/wiki/inc/feedcreator.class.php on line 62

Deprecated: Function split() is deprecated in /home/aqq20189/public_html/embedders.org/kurt/wiki/inc/auth.php on line 146

Warning: Cannot modify header information - headers already sent by (output started at /home/aqq20189/public_html/embedders.org/kurt/wiki/lib/plugins/importoldchangelog/action.php:8) in /home/aqq20189/public_html/embedders.org/kurt/wiki/inc/auth.php on line 236

Warning: Cannot modify header information - headers already sent by (output started at /home/aqq20189/public_html/embedders.org/kurt/wiki/lib/plugins/importoldchangelog/action.php:8) in /home/aqq20189/public_html/embedders.org/kurt/wiki/feed.php on line 60

Warning: Cannot modify header information - headers already sent by (output started at /home/aqq20189/public_html/embedders.org/kurt/wiki/lib/plugins/importoldchangelog/action.php:8) in /home/aqq20189/public_html/embedders.org/kurt/wiki/feed.php on line 61

Warning: Cannot modify header information - headers already sent by (output started at /home/aqq20189/public_html/embedders.org/kurt/wiki/lib/plugins/importoldchangelog/action.php:8) in /home/aqq20189/public_html/embedders.org/kurt/wiki/feed.php on line 62

Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in /home/aqq20189/public_html/embedders.org/kurt/wiki/inc/pageutils.php on line 442

Warning: Cannot modify header information - headers already sent by (output started at /home/aqq20189/public_html/embedders.org/kurt/wiki/lib/plugins/importoldchangelog/action.php:8) in /home/aqq20189/public_html/embedders.org/kurt/wiki/inc/pageutils.php on line 445

Warning: Cannot modify header information - headers already sent by (output started at /home/aqq20189/public_html/embedders.org/kurt/wiki/lib/plugins/importoldchangelog/action.php:8) in /home/aqq20189/public_html/embedders.org/kurt/wiki/inc/pageutils.php on line 446

Warning: Cannot modify header information - headers already sent by (output started at /home/aqq20189/public_html/embedders.org/kurt/wiki/lib/plugins/importoldchangelog/action.php:8) in /home/aqq20189/public_html/embedders.org/kurt/wiki/feed.php on line 66
embedders WiKi sources https://kurt.embedders.org/wiki/ 2022-08-08T11:29:42+00:00 embedders WiKi https://kurt.embedders.org/wiki/ https://kurt.embedders.org/wiki/lib/images/favicon.ico text/html 2021-10-09T14:22:55+00:00 sources:at45db https://kurt.embedders.org/wiki/sources:at45db?rev=1633789375 /** * @file at45db.c * @brief AT45DB Module * * Support Atmel AT45DB Flash Memory * * @author Rustem Kalimullin * @par E-mail: * hellos@mail.ru * @par Copyright: * (c) Kurt, 2005 */ #include "common.h" #include "at45db.h" #include "spi.h" // Define DF_AUTODETECT_FEATURES to enable autodetect features //#define DF_AUTODETECT_FEATURES //! defines for all opcodes enum { BLOCK_ERASE = 0x50, /**< erase 512 pages */ MAIN_MEMORY_PAGE_READ … text/html 2021-10-09T14:22:55+00:00 sources:circ_buf https://kurt.embedders.org/wiki/sources:circ_buf?rev=1633789375 Циклический буфер Не самая красивая реализация буфера. Мне самому он не нравится, поэтому и выкладываю :-) Для формирования используется финт ушами из макроса DECLARE_CIRC_BUFFER(). Первый параметр переменная для буфера, второй - размер буфера в байтах. Очень важно чтобы размер был … text/html 2021-10-09T14:22:55+00:00 sources:flash https://kurt.embedders.org/wiki/sources:flash?rev=1633789375 text/html 2021-10-09T14:22:55+00:00 sources:lcd_hd44780 https://kurt.embedders.org/wiki/sources:lcd_hd44780?rev=1633789375 Модуль управления ЖКИ HD44780 Работа с ЖКИ. Используется 8-битная шина данных без чтения флага готовности. * h-file * c-file * example example // Настройка подключения ЖКИ #define PIN_LCD_RS P5OUT_bit.P5OUT_1 #define PIN_LCD_E P5OUT_bit.P5OUT_0 #define LED_BUS_OUT P4OUT #define LED_BUS_DIR P4DIR #define LCD_RS_DATA() PIN_LCD_RS = 1 #define LCD_RS_COMMAND() PIN_LCD… text/html 2021-10-09T14:22:55+00:00 sources:macros https://kurt.embedders.org/wiki/sources:macros?rev=1633789375 Набор часто используемых макросов, включается обычно во все файлы проекта, через “common.h” #ifndef KR_MACROS_INCLUDED #define KR_MACROS_INCLUDED #ifndef bool typedef unsigned char bool; #endif #ifndef true #define true (1) #define false (!true) #endif #define BIT_CLR(port,bit) ( (port) &= ~(1<<(bit)) ) #define BIT_SET(port,bit) ( (port) |= (1<<(bit)) ) #define BIT_CPL(port,bit) ( (port) ^= (1<<(bit)) ) #define BIT_… text/html 2021-10-09T14:22:55+00:00 sources:spi0 https://kurt.embedders.org/wiki/sources:spi0?rev=1633789375 /** * @file spi.c * @brief SPI functions * * Implement SPI inteface communications * * @author Rustem Kalimullin * @par E-mail: * hellos@mail.ru * @par Copyright: * (c) Kurt, 2005 */ #include "common.h" #define SPI_PORT_WR (P3OUT) //!< Output port #define SPI_PORT_RD (P3IN) //!< Input port #define SPI_PORT_DIR (P3DIR) #define SPI_PORT_SEL (P3SEL) //!< Port options #define SPI_DO (1<<1) //!< Output pin mask #define SPI_DI (1<<2) //!< Input p… text/html 2021-10-09T14:22:55+00:00 sources:uart1 https://kurt.embedders.org/wiki/sources:uart1?rev=1633789375 Аппаратный UART * c-file * h-file c-file /** * @file uart1.c * @brief UART1 module * * @author Rustem Kalimullin * @par E-mail: * hellos@mail.ru */ #include "common.h" #include "circ_buf.h" #ifndef UART1_BUFFER_SIZE #define UART1_BUFFER_SIZE 0x10 #endif #if (UART1_BUFFER_SIZE & (UART1_BUFFER_SIZE-1)) #error UART1_BUFFER_SIZE must be power of 2 #endif DECLARE_CIRC_BUFFER( RxBuf1, UART1_BUFFER_SIZE ); DECLARE_CIRC_BUFFER( TxBuf1, UART1_BUFFER_SIZE ); //-----… text/html 2021-10-09T14:22:55+00:00 sources:xtal https://kurt.embedders.org/wiki/sources:xtal?rev=1633789375 Вариант 1 Запускаем внешний кварц, выдерживаем паузу на устаканивание и проверяем флаг. Если флаг сброшен, то все нормально - MCLK и SMCLK тактируются от кварца. В противном случае, делаем еще несколько попыток и переключаемся на тактирование от внутреннего DCO.