Ir ao conteúdo
  • Cadastre-se

Flowcode é uma boa ?


caroline cabral

Posts recomendados

Olá, Caroline.

Eu já fiz alguma coisa com ele, mas nem o tenho mais instalado. Funciona bem. É preciso, contudo, habituar a trabalhar com ele a fim de que você consiga otimizar bem os seus projetos (aconteceu comigo aquela tendência de gerar mais loops, mais testes condicionais do que programar em C).

Não sei se foi falta de conhecimento de minha parte (até porque, eu não me aprofundei no uso dele), mas constatei que o código que ele gera (dá para você visualizar a saída que ele gera - no meu caso, eu gostava de ver o código C que ele gerava) é consideravelmente maior do que o construído "na unha" (constatação minha, sob censura). Faça um teste simples, como um programinha pisca led em C-CCS e um no Flowcode para você ver.

Mas é, a meu ver, aquela máxima: vai depender do que você desenvolve. Conheço por aqui uma pessoa que aprendeu a usar o Flowcode e só trabalha com ele agora (antes ele usava Ladder) - ele não abre mão, então, para o caso dele, a ferramenta atende. Particularmente prefiro a programação C (tenho usado CCS), porque eu tenho muito mais controle do que está sendo feito e como as coisas estão ocorrendo, enquanto no Flowcode, você tem o controle do algoritimo, mas não do código "final" gerado.

É bom você aguardar o pessoal que programa em nível mais baixo, pois acredito que eles poderão lhe dizer melhor ainda sobre a eficiência do código objeto gerado após a compilação.

Bons trabalhos.

Link para o comentário
Compartilhar em outros sites

Caroline,

Como via de regra, quanto mais avançada a linguagem de programação, maior o código-objeto gerado, mais lento roda, mas em compensação o tempo de desenvolvimento cai bastante também ....

Para vocês terem uma ideia, eu trabalhei com um sistema MSDOS 3.1 , compilando os fontes para se gerar os executáveis todos , e gerava um sistema operacional completo em apenas dois disquetes ..... E rodava muito bem em um processador de 8 megahertz, com 512k de memória Ram..... vocês imaginam isso ??????

Hoje , em um simples micro qualquer, vocês tem no mínimo duas mil vezes mais memória do que isso !

Detalhe : tudo era feito em puro Assembly dos 8088.

Depois de algum tempo, veio o Windows.... 3.0 !!!! Para instalar ele em um computador, era necessário gerar o sistema a partir de 12 disquetes de 1.44 Mb cada....., além dos dois do MSDOS.

Mas depois disso tudo instalado, vocês tinham de ver a velocidade que rodavam os programas !!! Era ligar o micro e em 7 segundos o Windows tava aberto e pronto prá usar.

Detalhe : nesta época, o Windows era puro assembly no Kernel, e um monte de C no restante.

E olha que engraçado : tudo instalado ocupava menos de 10 megabytes no HD !!!!!!!!!!!!!!!

Para gerar uma rede Novell, eram usados 67 disquetes !!!!! Aqui tudo já era feito em C.

Hoje, para gerar uma carroça de um Windows 7 precisam de milhões de linhas de código, gerando objetos gigantescos, que consomem milhões de bytes, e mesmo com processadores com velocidades de 2 milhões de milhões de hertz fica insuportávelmente lento....... E chamam a isto C++ orientado ao objeto !!

Detalhe : essa carroça instalada ocupa mais de 8 milhoes de megabytes kkkkkkk , isso mesmo, é 800 vezes mais espaço do que o antigo Windows 3.0 ..... E precisa de processadores pelo menos 150 vezes mais rápidos e ainda assim com mais de um núcleo rodando ao mesmo tempo !!!! Claro, tem ainda os pipelines adicionais, os caches primários e secundários, etc, etc, etc, e ....... continua uma carroça ! Isto se deve ao uso extensivo de linguagens de programação super avançadas, que acabam por mascarar a habilidade dos programadores.

Com isso que eu falei acima quero mostrar meu ponto : quanto mais avançamos nas linguagens de programação, pior ficam os objetos gerados, e para compensar, temos de usar processadores cada vez mais rápidos e muito mais memória para caber esses monstros .....

Resumindo, se eu fosse você, ficava no simples C mesmo caso voce esteja usando profissionalmente.

Mas se você estiver usando apenas ocasionalmente, ou como hobby, e quiser aprender algo muito simples e poderoso, falaria para você experimentar o Bascom heheheh, pena que só tenha ele para AVR ...

É a linguagem perfeita para um entusiasta de eletrônica, e é um compilador criado por engenheiros eletrônicos e muito utilizado por engenheiros eletrônicos em seus hobbies.

Eu estou terminando um rádio FM com um TEA5767 controlado por um AVR em I2C, fazendo muito mais funções do que você vê que o pessoal fez por aí com Arduíno ou Pic, e demorei menos de 30 minutos para escrever e fazer funcionar um programa básico e comunicar com o TEA, mudando as estações do rádio.

E em tres horas já tinha também sistema de tuning otimizado, medição de nível de sinal, indicação de display LCD, memórias para as estações, e implementei um sistema de redução de sinal para aqueles que residem próximos a alguma torre de FM ou de TV para resolver o problema da frequência-imagem mascarar uma outra estação de frequência adjacente.

Paulo

Link para o comentário
Compartilhar em outros sites

Pessoal, certa vez li um texto bem interessante sobre o assunto de forma geral.

Traduzi a parte que cabe aqui nesse contexto. Veja que o texto é de 2005. Por isso pode conter informações defasadas. O artigo completo diz outras coisas.

Parece que o artigo foi escrito pelo criador da linguagem Jal.

"A seleção da Linguagem

A discussão sobre a escolha de um microcontrolador pode criar uma discussão animada nos forums, mas a próxima escolha é a certeza de levantar uma guerra direta: qual a linguagem de programação que você deve usar? Eu não vou tentar responder essa pergunta para você (a resposta depende de muitos fatores), vou apenas dar alguns critérios e apresentar algumas alternativas.

Critérios que podem ser levados em conta na escolha de um idioma:

- Quais linguagens você sabe (mas cuidado que C para um microcontrolador pode não ser exatamente o ANSI-C que você está acostumado em um sistema desktop);

- Preço da ferramenta;

- Qualidade da ferramenta

- Qualidade da documentação da ferramenta;

- Suporte para a ferramenta (fornecedores, lista de discussão, grupos de notícias);

- Facilidade de escrever (uma linguagem de alto nível é definitivamente mais fácil de escrever do que em assembly);

- Disponibilidade de bibliotecas úteis;

- O uso eficaz dos recursos de microcontroladores;

O último item acima (uso eficaz de recursos) pode iniciar uma guerra por conta própria: a famosa guerra C-versus-assembly (para C, você pode substituir para sua linguagem favorita). Como muitas vezes, nesse caso, a resposta depende muito da aplicação. Minha opinião é a seguinte:

- Um programador assembly pode, tendo tempo suficiente, sempre realizar o seu programa menor, mais rápido, etc do que um programador que usa C ououtra linguagem de alto nível. Tendo tempo insuficiente, o inverso é verdadeiro. (Se você é um programador profissional: Quando foi a última vez que foi dado a você tempo suficiente para escrever um aplicativo? Assim, você provavelmente está em um setor onde o tamanho de um ciclo de produção é medida em milhares, se não mais).

Minha conclusão é que, para um produto que será feito em grande quantidade, assembly deve ser usado e para o produto que será produzido em números menores, uma linguagem de alto nível. Mas isso deixa a questão em aberto no que diz respeito a quão grande ou pequeno a quantidade deve ser, e deixa uma grande área cinzenta. Um meio caminho bom é muitas vezes usar uma linguagem de alto nível para a maioria de seu código e utilizar assembly para as partes onde o tempo é crítico.

A Microchip fornece o MPLAB, um ambiente de programação assembly livre. Mesmo quando você não quiser usar assembly, você deveria obter o MPLAB, para usar o simulador embutido.

Várias empresas vendem compiladores C para PICs. Os preços variam de moderado (abaixo de $100) para fora de questão (pelo menos para um hobbista: cerca de $1000). Não usei nenhum desses compiladores extensivamente, por isso não posso fazer uma recomendação.

Antes de começar a solicitar ao redor: não, não há nenhum GCC (GNU Compiler Collection) para PICs, e é provável que nunca vai existir. As suposições feitas pelo GCC sobre a arquitetura da CPU alvo são razoáveis para quase todas as CPU que podem ser encontradas em todo o mundo (incluindo AVR, 8051 e 68HC), mas definitivamente não para PICs. Existe pelo menos uma tentativa de criar um compilador gratuito C para PICs (com base em SDCC), mas neste momento (2002), nenhum produto utilizável está disponível.

High-Tech C fornece o PICC-Lite, uma versão demo gratuita do seu compilador. O PICC-Lite atinge um número de chips da família 16F, alguns com limitações. Confira o site da Hi-Tech para informações mais recentes.

Eu forneço o compilador Jal. Jal parece mais com Pascal ou Ada do que C. Eu acho que Jal é uma ferramenta muito boa para começar (e continuar!) utilizando microcontroladores PIC, mas você não pode esperar que eu seja objetivo sobre minha própria criação.

Então, qual a linguagem que você deve escolher? Desculpe, não posso decidir isso para você. Como para todas as opções, se você tem um indivíduo ou grupo perto de você que pode ajudá-lo, não é uma má escolha selecionar as mesmas ferramentas. Caso contrário, a escolha certa depende muito de sua experiência em programação. Se você tem experiência em uma única linguagem, você pode selecionar a linguagem para PIC que se assemelha a ela. Se você não tem experiência anterior em programação: Há pessoas que recomendam o assembly como a melhor escolha para iniciar a programação, mas pessoalmente eu iria sugerir uma linguagem de alto nível. Ou melhor ainda: esqueça PICs por um tempo e começar a programar em um PC, utilizando a porta paralela para criar uma interface com o mundo real. Para aqueles que levam tudo a sério: Uma pergunta no PICLIST de Christopher Gill a resposta de Wagner Lipnharski.

Olá,

Tenho utilizado PICs desde Junho e programando em assemble. Agora estou pensando em usar a linguagem C. Quais são as vantagens/desvantagens de C sobre a linguagem assembly? Estou certo em pensar que há "módulos" para a divisão, multiplicação, etc? Existem bons tutoriais online sobre a programação em C para iniciantes completos?

Christopher

Para a maioria dos usuários do PICLIST, a pergunta do Christopher seria um convite aberto para iniciar a enésima guerra C versus assembly, mas Wagner teve uma abordagem mais original:

Primeiro você não sabe nada;

Você está feliz.

Primeiro você aprende sobre o chip:

Você aprende e usa assembly.

Você percebe que há uma maneira mais fácil e assim você pode poupar algum tempo para assistir TV:

Você aprender e usa C.

Você descobre que há uma maneira mais simples, de modo que você pode poupar o tempo todo na TV, carros, meninas, bares, viajar, relaxar, etc:

Você contrata alguém para escrever o código.

Você percebe que seu dinheiro está acabando rápidamente, então você decide fazer algum trabalho:

Você aprender e usa JAL.

Você descobre que seu dinheiro está acabando muito rápido e você precisa fazer todo o trabalho e poupar algum espaço no código:

Você volta a programar em C.

Você percebe que não é ruim dedicar tempo, aliás escrever código é uma espécie de hobby. Então para de assistir TV e deixa as meninas de lado:

Você voltar a escrever em assembly.

Você descobre a felicidade em todo canto:

Você aprende sobre AVRs.

Você descobre que era feliz e não sabia.

Você remove o WinXP e reinstala o WIN98SE.

Você percebe que a vida é uma miséria, e você quer o paraíso agora.

Você remove Win98SE e instala o DOS6.

Agora, o que era a sua pergunta lá em cima?

Wagner."

Fonte: http://www.voti.nl/swp/n_index.html

Link para o comentário
Compartilhar em outros sites

entendi

resposta: um dos fatores pelo qual fiquei interessada foi a de poder programar de maneira fácil e agradável sem ter que esquentar muito a cabeça uma vez que pare-se que o soft faz tudo por trás tratando de cada detalhe isso trás facilidade praticidade também só fiquei com algumas duvidas como por exemplo:

se um pic tem " x " de memoria quando ele recebe alguma estruturação logicamente vai sendo ocupada este espaço com um determinado programa Ccs por exemplo .

queria saber se com as mesmas estruturações com outro programa como flowcode esse espaço seria o mesmo?

suposições ----> " ou cresce de acordo com o soft quanto mas alto o nível maior será o espaço ocupado das estruturações "

simplificando queria saber se o código hex que é gerado por um determinado programa com as mesma estruturações pode ficar maior ? uma vez que os comandos foram o mesmo

Link para o comentário
Compartilhar em outros sites

Caroline,

Pode apostar que quanto ao tamanho do programa e memória consumida, quanto maior o nivel da linguagem, mais recursos consome e mais lento fica todo o processo. Nem é tanto as tais estruturas, mas sim os overheads gerados que interligam as linhas de código, que claro, como garantia, como ninguém conhece profundamente o funcionamento da linguagem, criou-se uma série de salvaguardas para garantir que seu programe rode. Dane-se a memória consumida, dane-se o tamanho do programa, dane-se a lentidão do código !

E com certeza, adorei a resposta do cara da Pic List !!!!! Que volte o Dos 6.x, que volte o Quarterdeck, e realmente , concordo que programar um AVR é algo que te dá uma satisfação enorme, ainda mais se for com o Bascom !

Isto sim é o que você procura : fácil, agradável, poderoso e rápido.

Paulo

Link para o comentário
Compartilhar em outros sites

dane-se gostei rsrsrs brigada aphawk nunca tentei com avr mas você sugere ele como alternativa ?

se ele for mas fácil que flowcode para pic eu quero eu nunca tive experiência com avr mas será bem vindo se for mas fácil

falando um pouco de Bascon quais são as vantagens ele é bem fácil de dominar é mas simples a linha de comando ? vou dar uma pesquisada a respeito

Link para o comentário
Compartilhar em outros sites

Caroline, programei o 8080, o z-80, o 8088, o 80286, o 6502, isto desde 1980... E com certeza indico os AVRs como uma excelente alternativa que só vai lhe trazer vantagens ! Se você acompanha a revista Elektor vai ver que na Europa usa-se muito essa família, e com programas do Bascom ! Claro que não podemos comparar o ensino deles com o nosso, aqui quase todo mundo aprende PIC e programar em C, e nas escolas eles dizem que é o máximo.... E lá eles montam projetinhos avançados com os AVRs e lançam no espaço nos famosos Cube Sats, e isso como projetos de conclusão de curso das faculdades de lá !!!! Bom, deixa prá lá.....

Escreví um dos primeiros BIOS feitos no Brasil para um microcomputador IBM-XT de uso industrial, isso em 1985, tudo puro Assembler. Como pode perceber, já ví tanta coisa mudar, mas nunca ví uma nova linguagem utilizar melhor os recursos de um microprocessador. Sempre foi assim, facilitava pros programadores, mas dificultava enormemente pro hardware. Aliás, até hoje è assim que a indústria vive, não é ? Nos forçando sempre a trocar nosso computador por um mais rápido, maior, mais memória, mais hd, e ...... Mais lento quando se instala um novo SO ! Sempre fica mais lento ao longo dos anos.

Programei os Pics também, conforme você pode ver nos tópicos destacados também fiz um tutorial para os Pics em Basic, antes de conhecer os Avrs. E quando conhecí, joguei tudo de Pic pro canto, e desde então só Avr, que graças a Deus inclui os Arduínos, que são totalmente compatíveis e programados diretamente pelo Bascom. E são uma maravilhosa plataforma pra gente brincar, tá tudo prontinho, montado bonitinho, padronizado, enfim, uma beleza de se usar!

Sempre programei em Assembler, mas hoje estou muito velho pra aprender outro Assembler..... e sinceramente , não sinto nenhuma falta kkkkkk.

E o C acho muito difícil de se usar, umas convenções estranhas que nada tem a ver com um código lindamente linear, opcode por opcode, em Assembler ou Basic. Bom, a idade deve ser a responsável, claro !!!!

Encare o AVR como um Pic mais rápido no mesmo clock, com mais memória de programa e mais memória Ram, e ainda mais barato !

Funcionalmente, é muito parecido a um Pic, eles possuem também timers, seriais, i2c, Pwm, Usb, Can, ou seja, em termos de hardware, se você sabe o que tem dentro de um Pic vai se sentir muito à vontade com um Avr.

O Bascom é um compilador baseado na velha linguagem Basic, que como o nome já indica é uma das linguagens mais simples de se aprender.

A diferença é que ele possui instruçoes muito específicas para poder controlar o hardware, e essas instruções são muito intuítivas, isto é, voce olhando uma já sabe tudo o que será feito no hardware do Avr.

O melhor de tudo é que o Bascom gera objetos bem pequenos, e na versão gratuíta ele permite gerar objetos até 4k de tamanho, e olha que dá para fazer muiiiita coisa com esses 4k....

Existem bibliotecas prontas para Ethernet, Lcd gráfico ou caractere, i2c, funcões matemáticas complexas, relógios RTC, enfim, tem muita coisa pronta prá gente pegar e usar !

Se você gostar do programa e partir para programas bemmmm grandes, então o melhor será comprar o programa full, que custa cerca de 89 euros.

Para você ter uma ideia melhor, dá uma olhada no meu tutorial sobre uso do AVR com Bascom e simulação dos projetos no Proteus, baixe o arquivo, e dê uma lida. E também eu sempre posto mais programas e novidades nesse tópico destacado, ok ?

http://forum.clubedohardware.com.br/tutorial-projetos-avr/1037751

Se você gosta de fuçar , de inventar coisas , vai gostar muito disto, pode acreditar !

Boa diversão !

Paulo

Link para o comentário
Compartilhar em outros sites

muito muito bom sr Paulo "aphawk" acho que vou parar de ver televisão rsrsrs isso deixa agente longe do PC rsrsrs mas muito obrigada sr Paulo fiquei satisfeita . e tópico resolvido pois agora só falta tempo para estudar .

como disse deixar a TV de lado sou muito grata a todos que responderão e deram a sua contribuição não só pra mim mas ficara registrado para futuras duvidas e se alguém tiver duvida fique a vontade pode dar continuidade sem nenhum problema pois é para nosso aprendizado e ate a próxima

bom fim de semana pra todos !

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!