Jump to content

Recommended Posts

Друзья ! Нужна помощь,есть схема бортового устройства в протеусе,так же и программа на С.Не получается  программу связать со схемой.Помогите пожалуйста!
Протеус принимается только асемблер,а мне нужен С.

Схема.png

Edited by SAYMPR
Ошиблась в формулировке

Share this post


Link to post
Share on other sites

Насколько мне известно, протеусу совершенно пофик - ассемблер там, или С, у вас в исходнике. Протеусу нужна готовая прошивка, а не исходник. Например, файл *.hex. Путь к этому файлу (прошивке) задаётся в свойствах микроконтроллера.

Share this post


Link to post
Share on other sites
8 минут назад, Alex-L сказал:

Насколько мне известно, протеусу совершенно пофик - ассемблер там, или С, у вас в исходнике. Протеусу нужна готовая прошивка, а не исходник. Например, файл *.hex. Путь к этому файлу (прошивке) задаётся в свойствах микроконтроллера.

а как изменить файл с Си на hex ?

Share this post


Link to post
Share on other sites

Вебинар «Microchip и современный подход к искусственному интеллекту. Разворачиваем нейронную сеть на 32-битном микроконтроллере» (13.10.2021)

Приглашаем всех желающих 13 октября 2021 г. посетить вебинар, посвященный искусственному интеллекту, машинному обучению и решениям для их реализации от Microchip. Современные среды для глубинного обучения нейронных сетей позволяют без детального изучения предмета развернуть искусственную нейронную сеть (ANN) не только на производительных микропроцессорах и ПЛИС, но и на 32-битных микроконтроллерах. А благодаря широкому портфолио Microchip, включающему в себя диапазон компонентов от микроконтроллеров и датчиков до ПЛИС, средств скоростной передачи и хранения информации, возможно решить весь спектр задач, возникающий при обучении, верификации и развёртывании модели ANN
Подробнее

Приглашаем на вебинар «Экономичные решения МЕAN WELL для надежных разработок» (30.09.2021)

Компания Компэл приглашает 30 сентября на вебинар посвященный экономичным решениям МЕAN WELL. На вебинаре мы рассмотрим, как решения MEAN WELL позволяют сэкономить при выборе оптимального источника питания для ваших приложений. Будут представлены основные группы источников питания по конструктивным признакам и по областям применения в контексте их стоимости или их особенностей, позволяющих снизить затраты на электропитание конечного устройства.

Подробнее

25 минут назад, SAYMPR сказал:

а как изменить файл с Си на hex ?

Нужно файл C компилировать в hex или в cof. Вот его нужно и вставить в свойства контроллера в Протеусе.

Можно попробовать компилятор с онлайн

Edited by Shahabbas

Технические вопросы решаю в теме , в личке не обсуждаю !!!

Share this post


Link to post
Share on other sites

TMPS – ультракомпактные источники питания от TRACO на печатную плату

Компания TRACO представила ультракомпактные ИП, монтируемые на печатную плату. В семейство входят три серии с выходной мощностью 3, 5 и 10 Вт. Особенность серий – малогабаритность; серии на 3 и 5 Вт имеют посадочный размер 1″x1″ (25,4×25,4 мм), а модели на 10 Вт имеют размер 1,5″х1″ (38,5х25,4 мм). При этом эти серии ИП обладают усиленной изоляцией и предназначены для широкого применения в различных приложениях.
Подробнее

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Сообщения


  • Драйвера для шаговых двигателей на чипах A4988 и DRV8825

  • Similar Content

    • By kasatik
      Всем привет.
      Ранее уже выставлял по ошибке фьюзы на тактирование с внешнего резонатора (Ext. Crystal Osc.), но тогда обошелся малой кровью, т.к. удалось затактировать "с пальца" и программатор хотя бы увидел камень. Но в этот раз поставил тактирование с внешнего сигнала (Ext. Clock), и фокус не удался. Программа крутится, светодиоды моргают, а комп не видит. С пальца не вышло, также как и с кварцем на 4Мгц. Подавал просто 1кГц c генератора на XTAL1. Вывести пациента из комы не удалось  Вопрос: почему прошлый раз прокатило, и в чем принципиальное отличие от этого режима? Что он ожидает от меня на вход?


    • By Дмитрий239
      Создал секцию:
      SECTIONS { .rodata : { . = ALIGN(16); _start_cmdList = .; *(.cmdList) KEEP(*(.cmdList)) _stop_cmdList = .; } } объявил структуру и указатель на начало:
      typedef struct { const char *cmdName; const void (*const commandVoid)(uint8_t, char *[], char[]); } CommandHandler; extern const CommandHandler _start_cmdList[]; для теста занёс одну функцию:
      const void kek(uint8_t argc, char *argv[], char answ[]) { strcpy_P(answ, PSTR("wow")); } static PROGMEM const char __attribute__((__used__)) kekAlias[] = "lol"; const CommandHandler __attribute__((section(".cmdList"))) __attribute__((__used__)) CMDHandler_kek = {.cmdName = kekAlias, .commandVoid = kek}; и проверяю:
      const CommandHandler *in = &_start_cmdList[0]; const CommandHandler *out = &CMDHandler_kek; if (in == out) uart.println(F("ok")); uart.println((unsigned int)(in), HEX); uart.println((unsigned int)(out), HEX); uart.println((unsigned int)out->cmdName); uart.println((unsigned int)out->commandVoid); uart.println((unsigned int)in->cmdName); uart.println((unsigned int)in->commandVoid); Выводит:
      1560
      1560
      124
      801
      12800
      0

      МК атмега168.
      Platform IO
      Avr gcc 11
      Линкер скрипт стандартный, с добавкой сверху

      Вопрос: как получить первый элемент массива в секции?
    • By Anton Chehonin
      Вот сам код программ
       
      Текст программы МК
      /*******************************************************
      Chip type : ATmega8
      Program type : Application
      AVR Core Clock frequency: 8,000000 MHz
      Memory model : Small
      External RAM size : 0
      Data Stack size : 256
      *******************************************************/

      #include <mega8.h>
      #include <delay.h>

      // Alphanumeric LCD functions
      #include <alcd.h>

      // Standard Input/Output functions
      #include <stdio.h>
      #include <stdlib.h>

      // Declareyourglobalvariableshere

      float s;
      unsigned long int k0=0,k1=0,k2=0,k3=0,k0123=0;
      unsigned long int k4=0,k5=0,k6=0,k7=0;//k4567=0;
      unsigned long int k8=0,k9=0,k10=0,k11=0;//k891011=0;
      unsigned long int k12=0,k13=0,k14=0,k15=0;//k12131415=0;
      unsigned long int k16=0,k17=0;
      char k=0;

      void main(void)
      {
      // Declare your local variables here

      char buffer[20];


      char a,b,c,d,e,f;
      // Присваивание переменным a,b,c численные значения 63 05 00 01 CF A1
      a=0b01100011;
      //63
      b=0b00000101;
      //05
      c=0b00000000;
      //00
      d=0b00000001;
      //01
      e=0b11001111;
      //CF
      f=0b10100001;
      //A1

      DDRD.2=1;
      PORTD.2=0;

      // USART initialization
      // Communication Parameters: 8 Data, 1 Stop, No Parity
      // USART Receiver: On
      // USART Transmitter: On
      // USART Mode: Asynchronous
      // USART Baud Rate: 9600
      UCSRA=(0«RXC) | (0«TXC) | (0«UDRE) | (0«FE) | (0«DOR) | (0«UPE) | (0«U2X) | (0«MPCM);
      UCSRB=(0«RXCIE) | (0«TXCIE) | (0«UDRIE) | (1«RXEN) | (1«TXEN) | (0«UCSZ2) | (0«RXB8) | (0«TXB8);
      UCSRC=(1«URSEL) | (0«UMSEL) | (0«UPM1) | (0«UPM0) | (0«USBS) | (1«UCSZ1) | (1«UCSZ0) | (0«UCPOL);
      UBRRH=0x00;
      UBRRL=0x33;


      // Alphanumeric LCD initialization
      // Connections are specified in the
      // Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
      // RS - PORTС Bit 0
      // RD - PORTС Bit 1
      // EN - PORTС Bit 2
      // D4 - PORTС Bit 3
      // D5 - PORTС Bit 4
      // D6 - PORTС Bit 5
      // D7 - PORTD Bit 7
      // Characters/line: 20
      lcd_init(20);
      lcd_clear();
      delay_ms(1000);
      while (1)
      {
      printf("%c%c%c%c%c%c",a,b,c,d,e,f); // отправка в порт

      //принимаем байты
      k=getchar(); // 0 байт
      if (k==99) {PORTD.2=1;}
      k0=getchar(); // 1 байт Активная энергия+
      k1=getchar(); // 2 байт
      k2=getchar(); // 3 байт
      k3=getchar(); // 4 байт
      k4=getchar(); // 1 байт Активная энергия-
      k5=getchar();
      k6=getchar();
      k7=getchar();
      k8=getchar(); // 1 байт Реактивная энергия+
      k9=getchar();
      k10=getchar();
      k11=getchar();
      k12=getchar(); // 1 байт Реактивная энергия-
      k13=getchar();
      k14=getchar();
      k15=getchar();
      k16=getchar();
      k17=getchar(); // 19 байт


      k0=k0«24;
      k1=k1«16;
      k2=k2«8;
      k0123=k0|k1|k2|k3;


      s=k0123;
      sprintf(buffer,"A+=%.4fkWh",s/2500);
      lcd_gotoxy(0,0);
      lcd_puts(buffer);

      // k4=k4«24;
      // k5=k5«16;
      // k6=k6«8;
      // k4567=k4|k5|k6|k7;
      // s=k4567;
      // sprintf(buffer,"A-=%.4fkWh",s/2500);
      // lcd_gotoxy(0,1);
      // lcd_puts(buffer);
      //
      // k8=k8«24;
      // k9=k9«16;
      // k10=k10«8;
      // k891011=k8|k9|k10|k11;
      //
      //
      // s=k891011;
      // sprintf(buffer,"R+=%.4fkVarh",s/2500);
      // lcd_gotoxy(0,2);
      // lcd_puts(buffer);
      //
      //
      // k12=k12«24;
      // k13=k13«16;
      // k14=k14«8;
      // k12131415=k12|k13|k14|k15;
      // s=k12131415;
      // sprintf(buffer,"R-=%.4fkVarh",s/2500);
      // lcd_gotoxy(0,3);
      // lcd_puts(buffer);

      delay_ms(1000);
      lcd_clear();

      }
      }
    • By dima040891
      Приветсвую!
      Кто ни будь работал с микросхемой STLED316S?  Это драйвер семисегментонго индикатора.
      Можете привести минимальный кусок кода который выводит любую цифру на дисплей. Из документации не пойму как с ней работать...
      На форумах инфы почти нет. Из того что есть тоже толку мало. Буду рад любой инфе по этой микросхеме.

      Ещё правильно же понимаю биты по SPI передаются младшим вперёд, а такты нужно передавать инверсные?

      В качестве МК применяю STM32.
×
×
  • Create New...