Игорь Плессер

Members
  • Публикации

    33
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

О Игорь Плессер

  • Звание
    Новенький
  • День рождения 18.01.2001

Информация

  • Пол
    Мужчина

Электроника

  • Стаж в электронике
    1-2 года
  • Сфера радиоэлектроники
    Микроконтроллеры
  • Оборудование
    Мультиметер, Пяльник 40 ватт, Программатор
  1. Кривые руки и радиоэлектроника, не совместимы!

    Народ(с)

  2. Делаю библиотеку для расширения возможностей EEPROM

    Ага, а то от легкости мозг атрофируется! Мозгами шевелить перестанут!
  3. Делаю библиотеку для расширения возможностей EEPROM

    Ну я согласен!Можно сделать процедуру инициализации в которой нужно будет ввести "Значение" размера памяти!
  4. Делаю библиотеку для расширения возможностей EEPROM

    Яссно...
  5. Делаю библиотеку для расширения возможностей EEPROM

    Прошастал юнит Atmega8 пусто никаких признаков EEPROM Кстати чо такое дефайн?
  6. Делаю библиотеку для расширения возможностей EEPROM

    На нету!Жаль(
  7. Делаю библиотеку для расширения возможностей EEPROM

    <EEPROM> <MIN_ADDR>0x0000</MIN_ADDR> <MAX_ADDR>0x01FF</MAX_ADDR> </EEPROM> не заметил!НУ и как теперь это всо сувать? Константа это MAX_ADDR?
  8. Делаю библиотеку для расширения возможностей EEPROM

    Согласен!
  9. Делаю библиотеку для расширения возможностей EEPROM

    А я что говорил? Это вариант, сейчас замутим! ЗЫ: то что я сделал глупую функцию я не отвергаю, просто у меня не было другого способа! Тока у меня проблема я с командной строкой не оч дружу, знаю основные команды да и то так се! Киньте код если не сложно! Вот код для меги8 <?xml version="1.0"?> <MCU> <DEVICE_NAME>ATmega8</DEVICE_NAME> <ROM> <MIN_ADDR>0x0000</MIN_ADDR> <MAX_ADDR>0x0BFF</MAX_ADDR> </ROM> <EEPROM> <MIN_ADDR>0x0000</MIN_ADDR> <MAX_ADDR>0x01FF</MAX_ADDR> </EEPROM> <RX> <MIN_ADDR>0x00</MIN_ADDR> <MAX_ADDR>0x1F</MAX_ADDR> </RX> <IO> <MIN_ADDR>0x20</MIN_ADDR> <MAX_ADDR>0x5F</MAX_ADDR> </IO> <RAM> <MIN_ADDR>0x0060</MIN_ADDR> <MAX_ADDR>0x045F</MAX_ADDR> </RAM> <IVT> <INT> <ADDRESS>0x0012</ADDRESS> <NAME>SPM_RDY</NAME> <DESC>Store Program Memory Ready</DESC> </INT> <INT> <ADDRESS>0x0011</ADDRESS> <NAME>TWI</NAME> <DESC>2-wire Serial Interface</DESC> </INT> <INT> <ADDRESS>0x0010</ADDRESS> <NAME>ANA_COMP</NAME> <DESC>Analog Comparator</DESC> </INT> <INT> <ADDRESS>0x000F</ADDRESS> <NAME>EE_RDY</NAME> <DESC>EEPROM Ready</DESC> </INT> <INT> <ADDRESS>0x000E</ADDRESS> <NAME>ADC</NAME> <DESC>ADC Conversion Complete</DESC> </INT> <INT> <ADDRESS>0x000D</ADDRESS> <NAME>USART, TXC</NAME> <DESC>USART, Tx Complete</DESC> </INT> <INT> <ADDRESS>0x000C</ADDRESS> <NAME>USART, UDRE</NAME> <DESC>USART Data Register Empty</DESC> </INT> <INT> <ADDRESS>0x000B</ADDRESS> <NAME>USART, RXC</NAME> <DESC>USART, Rx Complete</DESC> </INT> <INT> <ADDRESS>0x000A</ADDRESS> <NAME>SPI, STC</NAME> <DESC>Serial Transfer Complete</DESC> </INT> <INT> <ADDRESS>0x0009</ADDRESS> <NAME>TIMER0 OVF</NAME> <DESC>Timer/Counter0 Overflow</DESC> </INT> <INT> <ADDRESS>0x0008</ADDRESS> <NAME>TIMER1 OVF</NAME> <DESC>Timer/Counter1 Overflow</DESC> </INT> <INT> <ADDRESS>0x0007</ADDRESS> <NAME>TIMER1 COMPB</NAME> <DESC>Timer/Counter1 Compare Match B</DESC> </INT> <INT> <ADDRESS>0x0006</ADDRESS> <NAME>TIMER1 COMPA</NAME> <DESC>Timer/Counter1 Compare Match A</DESC> </INT> <INT> <ADDRESS>0x0005</ADDRESS> <NAME>TIMER1 CAPT</NAME> <DESC>Timer/Counter1 Capture Event</DESC> </INT> <INT> <ADDRESS>0x0004</ADDRESS> <NAME>TIMER2 OVF</NAME> <DESC>Timer/Counter2 Overflow</DESC> </INT> <INT> <ADDRESS>0x0003</ADDRESS> <NAME>TIMER2 COMP</NAME> <DESC>Timer/Counter2 Compare Match</DESC> </INT> <INT> <ADDRESS>0x0002</ADDRESS> <NAME>INT1</NAME> <DESC>External Interrupt Request 1</DESC> </INT> <INT> <ADDRESS>0x0001</ADDRESS> <NAME>INT0</NAME> <DESC>External Interrupt Request 0</DESC> </INT> </IVT> <INTERNAL> <A>[1,2,3]</A> <B>[1,2]</B> <C>[1]</C> <D>[1,2,3,4,5,6]</D> <E>[1]</E> </INTERNAL> <LIBRARIES> <LIB> <ALIAS>Math</ALIAS> <FILE>__Lib_Math</FILE> <TYPE>SYSTEM</TYPE> </LIB> <LIB> <ALIAS>Math_Double</ALIAS> <FILE>__Lib_MathDouble</FILE> <TYPE>SYSTEM</TYPE> </LIB> <LIB> <ALIAS>System</ALIAS> <FILE>__Lib_System</FILE> <TYPE>SYSTEM</TYPE> </LIB> <LIB> <ALIAS>Delays</ALIAS> <FILE>__Lib_Delays</FILE> <TYPE>SYSTEM</TYPE> </LIB> <LIB> <ALIAS>C_Type</ALIAS> <FILE>__Lib_CType</FILE> <TYPE>REGULAR</TYPE> </LIB> <LIB> <ALIAS>String</ALIAS> <FILE>__Lib_String</FILE> <TYPE>REGULAR</TYPE> </LIB> <LIB> <ALIAS>Conversions</ALIAS> <FILE>__Lib_Conversions</FILE> <TYPE>REGULAR</TYPE> </LIB> <LIB> <ALIAS>Time</ALIAS> <FILE>__Lib_Time</FILE> <TYPE>REGULAR</TYPE> </LIB> <LIB> <ALIAS>Trigon</ALIAS> <FILE>__Lib_Trigon</FILE> <TYPE>REGULAR</TYPE> </LIB> <LIB> <ALIAS>Trigonometry</ALIAS> <FILE>__Lib_Trigonometry</FILE> <TYPE>REGULAR</TYPE> </LIB> <LIB> <ALIAS>Button</ALIAS> <FILE>__Lib_Button</FILE> <TYPE>REGULAR</TYPE> </LIB> <LIB> <ALIAS>Keypad4x4</ALIAS> <FILE>__Lib_Keypad4x4</FILE> <TYPE>REGULAR</TYPE> </LIB> <LIB> <ALIAS>Manchester</ALIAS> <FILE>__Lib_Manchester</FILE> <TYPE>REGULAR</TYPE> </LIB> <LIB> <ALIAS>One_Wire</ALIAS> <FILE>__Lib_OneWire</FILE> <TYPE>REGULAR</TYPE> </LIB> <LIB> <ALIAS>PS2</ALIAS> <FILE>__Lib_PS2</FILE> <TYPE>REGULAR</TYPE> </LIB> <LIB> <ALIAS>Sound</ALIAS> <FILE>__Lib_Sound</FILE> <TYPE>REGULAR</TYPE> </LIB> <LIB> <ALIAS>Software_I2C</ALIAS> <FILE>__Lib_SoftI2C</FILE> <TYPE>REGULAR</TYPE> </LIB> <LIB> <ALIAS>Software_SPI</ALIAS> <FILE>__Lib_SoftSPI</FILE> <TYPE>REGULAR</TYPE> </LIB> <LIB> <ALIAS>Software_UART</ALIAS> <FILE>__Lib_SoftUART</FILE> <TYPE>REGULAR</TYPE> </LIB> <LIB> <ALIAS>ADC</ALIAS> <FILE>__Lib_ADC</FILE> <TYPE>REGULAR</TYPE> </LIB> <LIB> <ALIAS>EEPROM</ALIAS> <FILE>__Lib_EEPROM_eew</FILE> <TYPE>REGULAR</TYPE> </LIB> <LIB> <ALIAS>FLASH</ALIAS> <FILE>__Lib_FLASH_rwe</FILE> <TYPE>REGULAR</TYPE> </LIB> <LIB> <ALIAS>PWM1</ALIAS> <FILE>__Lib_PWM1_2</FILE> <TYPE>REGULAR</TYPE> </LIB> <LIB> <ALIAS>SPI</ALIAS> <FILE>__Lib_SPI_b5432_x2</FILE> <TYPE>REGULAR</TYPE> </LIB> <LIB> <ALIAS>TWI</ALIAS> <FILE>__Lib_TWI</FILE> <TYPE>REGULAR</TYPE> </LIB> <LIB> <ALIAS>UART</ALIAS> <FILE>__Lib_UART_d01_ursel</FILE> <TYPE>REGULAR</TYPE> </LIB> <LIB> <ALIAS>Port_Expander</ALIAS> <FILE>__Lib_PortExpander</FILE> <TYPE>REGULAR</TYPE> </LIB> <LIB> <ALIAS>CAN_SPI</ALIAS> <FILE>__Lib_CANSPI</FILE> <TYPE>REGULAR</TYPE> </LIB> <LIB> <ALIAS>Compact_Flash</ALIAS> <FILE>__Lib_CF</FILE> <TYPE>REGULAR</TYPE> </LIB> <LIB> <ALIAS>Glcd_Fonts</ALIAS> <FILE>__Lib_GlcdFonts</FILE> <TYPE>REGULAR</TYPE> </LIB> <LIB> <ALIAS>Glcd</ALIAS> <FILE>__Lib_Glcd</FILE> <TYPE>REGULAR</TYPE> </LIB> <LIB> <ALIAS>Lcd_Constants</ALIAS> <FILE>__Lib_LcdConsts</FILE> <TYPE>REGULAR</TYPE> </LIB> <LIB> <ALIAS>Lcd</ALIAS> <FILE>__Lib_Lcd</FILE> <TYPE>REGULAR</TYPE> </LIB> <LIB> <ALIAS>Mmc</ALIAS> <FILE>__Lib_Mmc</FILE> <TYPE>REGULAR</TYPE> </LIB> <LIB> <ALIAS>RS485</ALIAS> <FILE>__Lib_RS485</FILE> <TYPE>REGULAR</TYPE> </LIB> <LIB> <ALIAS>T6963C</ALIAS> <FILE>__Lib_T6963C</FILE> <TYPE>REGULAR</TYPE> </LIB> <LIB> <ALIAS>SPI_Glcd</ALIAS> <FILE>__Lib_SPIGlcd</FILE> <TYPE>REGULAR</TYPE> </LIB> <LIB> <ALIAS>SPI_Lcd</ALIAS> <FILE>__Lib_SPILcd</FILE> <TYPE>REGULAR</TYPE> </LIB> <LIB> <ALIAS>SPI_Lcd8</ALIAS> <FILE>__Lib_SPILcd8</FILE> <TYPE>REGULAR</TYPE> </LIB> <LIB> <ALIAS>SPI_T6963C</ALIAS> <FILE>__Lib_SPIT6963C</FILE> <TYPE>REGULAR</TYPE> </LIB> </LIBRARIES> <PACKAGE> <PACKAGES>[TQFP]</PACKAGES> <TQFP> <NMB_PIN>32</NMB_PIN> <PIN1> <NAME>[PD3:IN1]</NAME> <TEXT>INT1,External Interrupt source 1:The PD3 pin can serve as an external interrupt source.</TEXT> </PIN1> <PIN2> <NAME>[PD4:XCK:T0]</NAME> <TEXT>XCK, USART external clock. T0,Timer/Counter0 counter source.</TEXT> </PIN2> <PIN3> <NAME>[GND]</NAME> <TEXT/> </PIN3> <PIN4> <NAME>[VCC]</NAME> <TEXT/> </PIN4> <PIN5> <NAME>[GND]</NAME> <TEXT/> </PIN5> <PIN6> <NAME>[VCC]</NAME> <TEXT/> </PIN6> <PIN7> <NAME>[PB6:XTAL1:TOSC1]</NAME> <TEXT>XTAL1:Chipclock oscillator pin 1.Used for all chipclock sources except internal calibratable RC oscillator.When used as a clock pin,the pin can not be used as an I/O pin.When using internal calibratable RC oscillator as chip clock source,PB6 functions as an ordinary I/O pin. TOSC1:Timer Oscillator pin 1.Used only if internal calibratable RC oscillator is selected as chip clock source,and the asynchronous timer is enabled by the correct setting in ASSR.When the AS2 bit in ASSR is set (one)to enable asynchronous clocking of Timer/Counter1,pin PB6 is disconnected from the port,and becomes the input of the inverting oscillator amplifier.In this mode,a crystal oscillator is connected to this pin,and the pin can not be used as an I/O pin. If PB6 is used as a clock pin,DDB6,PORTB6 and PINB6 will all read</TEXT> </PIN7> <PIN8> <NAME>[PB7:XTAL2:TOSC2]</NAME> <TEXT>XTAL2:Chip clock oscillator pin 2.Used as clock pin for all chip clock sources except internal calibratable RC oscillator and external clock.When used as a clock pin,the pin can not be used as an I/O pin.When using internal calibratable RC oscillator or external clock as chipclock sources,PB7 functions as an ordinary I/O pin. TOSC2:Timer Oscillator pin 2.Used only if internal calibratable RC oscillator is selected as chip clock source,and the asynchronous timer is enabled by the correct setting in ASSR.When the AS2 bit in ASSR is set (one)to enable asynchro- nous clocking of Timer/Counter2,pin PB7 is disconnected from the port,and becomes the inverting output of the oscillator amplifier.In this mode,a crystal oscillator is connected to this pin,and the pin can not be used as an I/O pin. If PB7 is used as a clock pin,DDB7,PORTB7 and PINB7 will all read </TEXT> </PIN8> <PIN9> <NAME>[PD5:T1]</NAME> <TEXT>T1,Timer/Counter1 counter source.</TEXT> </PIN9> <PIN10> <NAME>[PD6:AIN0]</NAME> <TEXT>AIN0,Analog Comparator Positive Input.Configure the port pin as input with the internal pull-up switched off to avoid the digital port function from interfering with the function of the analog comparator.</TEXT> </PIN10> <PIN11> <NAME>[PD7:AIN1]</NAME> <TEXT>AIN1,Analog Comparator Negative Input.Configure the port pin as input with the internal pull-up switched off to avoid the digital port function from interfering with the function of the analog comparator.</TEXT> </PIN11> <PIN12> <NAME>[PB0:ICP]</NAME> <TEXT>ICP -Input Capture Pin:The PB0 pin can act as an input capture pin for Timer/Counter1.</TEXT> </PIN12> <PIN13> <NAME>[PB1:OC1A]</NAME> <TEXT>OC1A,Output compare match output:The PB1 pin can serve as an external output for the Timer/Counter1 compare match A.The PB1 pin has to be configured as an output (DDB1 set (one))to serve this function.The OC1A pin is also the output pin for the PWM mode timer function.</TEXT> </PIN13> <PIN14> <NAME>[PB2:'SS:OC1B]</NAME> <TEXT>SS:Slave Select input.When the SPI is enabled as a slave,this pin is configured as an input regardless of the setting of DDB4.As a slave,the SPI is activated when this pin is driven low.When the SPI is enabled as a master,the data direction of this pin is controlled by DDB4.When the pin is forced by the SPI to be an input,the pull-up can still be controlled by the PORTB4 bit. OC1B,Output compare match output:The PB2 pin can serve as an external output for the Timer/Counter1 compare match B.The PB2 pin has to be configured as an output (DDB2 set (one))to serve this function.The OC1B pin is also the output pin for the PWM mode timer func</TEXT> </PIN14> <PIN15> <NAME>[PB3:MOSI:OC2]</NAME> <TEXT>MOSI:SPI Master data output,slave data input for SPI channel.When the SPI is enabled as a slave,this pin is configured as an input regardless of the setting of DDB5.When the SPI is enabled as a master,the data direction of this pin is controlled by DDB5.When the pin is forced by the SPI to be an input,the pull-up can still be controlled by the PORTB bit.</TEXT> </PIN15> <PIN16> <NAME>[PB4:MISO]</NAME> <TEXT>MISO:Master data Input,Slave data Output pin for SPI channel.When the SPI is enabled as a master,this pin is configured as an input regardless of the setting of DDB6.When the SPI is enabled as a slave,the data direction of this pin is controlled by DDB6.When the pin is forced by the SPI to be an input,the pull-up can still be controlled by the PORTB6 bit.</TEXT> </PIN16> <PIN17> <NAME>[PB5:SCK]</NAME> <TEXT>SCK:Master clock output,slave clock input pin for SPI channel.When the SPI is enabled as a slave,this pin is configured as an input regardless of the setting of DDB7.When the SPI is enabled as a master,the data direction of this pin is controlled by DDB7.When the pin is forced by the SPI to be an input,the pull-up can still be controlled by the PORTB7 bit.</TEXT> </PIN17> <PIN18> <NAME>[AVCC]</NAME> <TEXT/> </PIN18> <PIN19> <NAME>[ADC6]</NAME> <TEXT/> </PIN19> <PIN20> <NAME>[AREF]</NAME> <TEXT/> </PIN20> <PIN21> <NAME>[AGND]</NAME> <TEXT/> </PIN21> <PIN22> <NAME>[ADC7]</NAME> <TEXT/> </PIN22> <PIN23> <NAME>[PC0:ADC0]</NAME> <TEXT>PC0 can also be used as ADC input Channel 0.Note that ADC input channel 0 uses analog ground.</TEXT> </PIN23> <PIN24> <NAME>[PC1:ADC1]</NAME> <TEXT>PC1 can also be used as ADC input Channel 1.Note that ADC input channel 1 uses analog ground.</TEXT> </PIN24> <PIN25> <NAME>[PC2:ADC2]</NAME> <TEXT>PC2 can also be used as ADC input Channel 2.Note that ADC input channel 2 uses analog ground.</TEXT> </PIN25> <PIN26> <NAME>[PC3:ADC3]</NAME> <TEXT>PC3 can also be used as ADC input Channel 3.Note that ADC input channel 3 uses analog ground.</TEXT> </PIN26> <PIN27> <NAME>[PC4:ADC4:SDA]</NAME> <TEXT>SDA,2-wire Serial Interface Data:When the TWEN bit in TWCR is set (one)to enable the 2-wire Serial Interface,pin PC1 is disconnected from the port and becomes the Serial Data I/O pin for the 2-wire Serial Interface.In this mode,there is a spike filter on the pin to suppress spikes shorter than 0 ns on the input signal,and the pin is driven by an open drain driver with slew-rate limitation. PC4 can also be used as ADC input Channel 4.Note that ADC input channel 4 uses digital ground.</TEXT> </PIN27> <PIN28> <NAME>[PC5:ADC5:SCL]</NAME> <TEXT>SCL,2-wire Serial Interface Clock:When the TWEN bit in TWCR is set (one)to enable the 2-wire Serial Interface,pin PC1 is disconnected from the port and becomes the Serial Clock I/O pin for the 2-wire Serial Interface.In this mode,there is a spike filter on the pin to suppress spikes shorter than 0 ns on the input signal,and the pin is driven by an open drain driver with slew-rate limitation. PC can also be used as ADC input Channel 5.Note that ADC input channel uses digital ground.</TEXT> </PIN28> <PIN29> <NAME>[PC6:'RESET]</NAME> <TEXT>RESET, Reset pin: When the RSTDISBL fuse is set,this pin functions as a normal I/O pin,and the part will have to rely on Power-On Reset and Brown-Out Reset as its reset sources.When the RSTDISBL fuse is cleared,the reset circuitry is connected to the pin,and the pin can not be used as an I/O pin. If PC6 is used as a reset pin,DDC6,PORTC6 and PINC6 will all read 0.</TEXT> </PIN29> <PIN30> <NAME>[PD0:RXD]</NAME> <TEXT>RXD,Receive Data (Data input pin for the USART).When the USART receiver is enabled this pin is configured as an input regardless of the value of DDD0.When the USART forces this pin to be an input,the pull-up can still be controlled by the PORTD0 bit.</TEXT> </PIN30> <PIN31> <NAME>[PD1:TXD]</NAME> <TEXT>TXD,Transmit Data (Data output pin for the USART).When the USART transmitter is enabled,this pin is configured as an output regardless of the value of DDD1.</TEXT> </PIN31> <PIN32> <NAME>[PD2:INT0]</NAME> <TEXT>INT0,External Interrupt source 0:The PD2 pin can serve as an external interrupt source.</TEXT> </PIN32> </TQFP> </PACKAGE> </MCU> Хочу вас сказать-с ничего нету-с кроме!! Описания портов! и начальных "либок"
  10. Делаю библиотеку для расширения возможностей EEPROM

    Скажу одно!Паскаль это "туман" там может быть не только странно! Можт я исходник скину? Или вы паскалем не занимаетесь?
  11. Делаю библиотеку для расширения возможностей EEPROM

    Вот этого я не знаю! стоит mP for AVR 6.1.0 еще есть 1.5.0(крякнутый) Alex вы хорошо знаете СИ? Просто когда закончу с этой библиотекой хочу перейти на него! Один язык знать хорошо а два лучше!
  12. Делаю библиотеку для расширения возможностей EEPROM

    Ну это СИ! Согласен косяк!!!Но тогда так как функция "считает" биты можно сравнивать со стандартными значениями размеров 64,128,512,1024 и т.д. тогда если попадется где-нибудь в середине(неверное значение) он сверит и если неправильно пойдет дальше читать...А если в ячейке 0x00 будут данные их можно дублировать в переменную на время и перезаписать обратно в конце вычисления! Как такой вариант?
  13. Делаю библиотеку для расширения возможностей EEPROM

    Согласен!Но во первых я не нашел другого способа, во вторых я переделал функцию она выполняется 1 раз при запуске и записывает значение(размер) в maxValue, потом присваивает биту 0х00 значение 0xFF, после чего бит может дальше использоваться, в третьих эта функция нужна т.к. без нее значение address может выйти за пределы и данные могут(запишутся) записаться в неверный отдел памяти eeprom, в четвертых я делаю максимально простую библиотеку чтобы не делать лишних движений таких как глядеть в даташит и т.п.!Для этого и существуют библиотеки! Я пишу универсальный код который сможет работать на всех или хотя-бы нескольких типах МК фирмы ATMEL! А теперь вопрос!Если бы я знал что в "паскалиевских" юнитах есть такая функция или константа или что-то в этом роде я бы стал делать эту функцию? Да даже если бы была константа она не для одного МК!И что мне их все перебирать? Спасибо конечно за советы!
  14. Делаю библиотеку для расширения возможностей EEPROM

    У каждого есть своё мнение!Это ваше)
  15. Делаю библиотеку для расширения возможностей EEPROM

    Спасибо за упрощение, согласен!