| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Микроконтроллеры (MCU) и микропроцессоры (MPU) > PIC / 8051 или ещё что ? |
| Автор: bilbobagginz 11.5.2004, 14:48 |
| Здрасьте, люди! Вопросик есть - нужно: 1. микроконтроллер под к-рый можно писать на Си. [Хотелось бы иметь malloc() и free() для динамических структур данных.] 2. нужен FPU [Floating Point Unit] 32 или 24 бита. 3. Хотелось бы триг. функции, log, гиперб., и обратные ... но чтобы по цене не било. нашёл 2 опции либо PIC либо 8051. оба вроде-бы имеют реализацию ANSI C. для обоих вроде-бы есть разные модификации с разл. кол-вом памяти. Короче вопрос: кого бы выбрать ? Желательно объяснить свою точку зрения ... а то я не соглашусь Спасибо за советы заранее. M. |
| Автор: Crait 11.5.2004, 19:49 |
| >нужен FPU [Floating Point Unit] 32 или 24 бита >нашёл 2 опции либо PIC либо 8051 PIC либо 8051 лишены FPU. Да, во многих реализациях C для них есть тип данных float, но операции с ним выполняются через fixed point, т.е. небыстро... FPU есть, по-моему, у ATMega и многих DSP. |
| Автор: bilbobagginz 12.5.2004, 10:50 |
| Не хочу ДСП (дорого) скорость не так важна => можно и без шныряющих точек. и всё же ? сравнение на среды разработки ? на глюки ? |
| Автор: Darked 12.5.2004, 20:56 |
| По - моему PIС мало подходит как математический хотя по цене дешовые достаточно Какая задача - то? |
| Автор: bilbobagginz 12.5.2004, 21:18 |
| Научный калькулятор с прибамбасами. |
| Автор: Darked 13.5.2004, 10:51 |
| Мне лично кажется что тут PIC тебе не помошник, он все таки промышленный контроллер. Вот мы на нем делаем автоматику - для нас он самое то. А для калькулятора....Даже не знаю. Еу я еще со знающими пообщаюсь, может чего еще напишу ; ) |
| Автор: PILOT 13.5.2004, 21:53 |
| Рекомендую использовать среду Keil 7.xx под 51-ое ядро, в среде есть все функции о которых было сказано, скорость около 1 мс ны вычисление корны квадратного из FPoint (состоит из 4-х байт). Из контроллеров с 51-ым ядром можешь использовать хоть philips, хоть наш 1830. Для других контроллеров типа AVR, PIC может есть подобные библиотеки, но стабильность работы Keil заставляет обратить на нее (среду) внимание. Кроме того вроде у Motorola что-то есть с FPU. Но етими контроллерами (процессорами) я почти не занимался. СУВ. |
| Автор: bilbobagginz 14.5.2004, 08:36 |
| Спасибо, ПИЛОТИК, за совет. У меня такого рода проблема: Те кто PICает знает о PICах. Те кто KEILится - знает о 8051. И никто не может сравнить трезво, потому что знает только 1-у систему. FPU - заменим (медленнеее, но заработает) В общем мне хотелось бы иметь среду программирования Си (что-нить типа GNU gcc toolchain - gcc,gdb,ld, make. ) И вопрос встаёт о цене самого жучка и его дополняющих - памяти и т.д. Ассембли - это конечно хорошо, но времени убьёт в 3 раза больше. Я думал кто-то стоял перед подобным выбором, а оказывается - НЕТ. Придётся самому сравнивать. Спасибо всем!! |
| Автор: Darked 14.5.2004, 09:30 |
| Про среду могу сказать, что я использую IDE MPLab от самой конторы Microchip. Для программирования на Си использую HT-PIC компилятор. А ты под какой осью собираешься программить? |
| Автор: PILOT 14.5.2004, 16:59 |
| Я могу судить об: 1) AVR (IAR, AVR Studio) 2) 51-ых (Franclin, Project-52, Keil) 3) Motorola (в институте нас учили именно ему) Из того что я знаю: 1) По дешевизне конечно это 51-ый. Пожалуй самый первый контроллер был именно 51-ый (тогда еще 31-ый), поэтому под него придумано практически все и вся, в частности мощные математические библиотеки. Среда Keil удабная и неглючная по сравнению с Franclin, там же есть мат-библиотеки, все просто и удобно. 2) По удобству программирования и контроля за всем это AVR, но сложно достать среду с Cи (си под AVR - я нашел чудом), хотя это окупается приличной скоростью около 1MOP per 1Mgz, простотой прошивки. Короче удачное ядро. 3) По навороченности это Motorola (целая линейка от 8-ми разрядных до 32), но вот растпростаненность софтовой базы На PICах не программил, видимо не было еще задач которые решаются только на PIC. А значит выбирают исходя из того, что умеешь. Насколько я понял автор вопроса не владеет ничем из перечисленного и не удовлетворен советами. Посему я немного не понимаю зачем задавать вопрос на который никто не даст одного единственного ответа. Лично я учился на Motorola а потом на AVR. И года 2 назад освоил 51-ый. Что будет дальше не знаю. Что проще? Наверное то, что позже изучалось, т.е. 51-ый. У меня он не вызвал никаких проблем. Закончу тем, что сам больше уважаю ASM потому, что именно с ним можно абсолютно за всем следить, а что там происходит в библиотеках для Си одному Богу известно, и о скорости вообще говорить не приходится. Но в ряде задач, видимо, можно и нужно пользоваться Си. Яркий пример - ваша задача. В калькуляторе не гонишься за микросекундами, тут пол секунды то пользователь не заметит, да и ЖК монитор не особо быстр. Си прост в использовании. СУВ. |
| Автор: bilbobagginz 16.5.2004, 09:02 |
| Pilotik, принимаю ваш ценный совет. Насчёт плохо сформулированного вопроса - согласен [просто на меня упали и выбор подходящего котроллера и код писать]. Собирать штучку не я буду, но хочется и чтобы штучка подешевле вышла, и чтобы работа быстро дала результаты. Спасибо огромное за всю инфу, принял к сведению и сейчас ковыряюсь в моделях 51-х. Насчёт ОСи - по мне лучше разрабатывать под никсами, но возможно из-за среды придётся пользоваться виндосей. Удачи всем! |
| Автор: bilbobagginz 17.5.2004, 22:42 |
| Ещё в догонку: сколько памяти есть на стандартных 8051-х, и сколько места занимает 51-е ядро? |
| Автор: shedon 17.5.2004, 23:24 | ||
На разных контроллерах по-раному, память ОЗУ обычно от 64 до 256 байт, на некоторых "продвинутых" контроллерах есть XRAM(дополнительная оперативка до нескольких килобайт). Я могу посоветовать T89C51RD2, довольно не плохой контроллер от Atmel, т.к. сам его юзаю, RAM 256b, XRAM 1024, память кода 64 кБ, скорость 40 MHz, плюс он с внутре системным программированием, т.е. не надо покупать программатор ! Также у него два DPTR`a. |
| Автор: -= Александр =- 9.6.2004, 20:20 |
| По-моему тебе нужен мощный AVR (типа ATMega 85XX) и среда ICC (берется на http://www.imagecraft.com/software/ называется ICC430V6 и лекарство от жадности ищется на www.xxxxxxx.xx [+]) Получается полноценное С++ со всеми библиотеками, мощный компилятор, даже программатор. А шнур для прошивки делается за 5 минут, схем в сети полно. Лично у меня все это прекрасно работает и не глючит даже под ХР. Я юзаю ATMega 8535. (мобильный робот) думаю, что если кого-то заинтерисует, то спросите через личные сообщения... |
| Автор: bilbobagginz 9.6.2004, 23:05 |
| Уваж. -= Александр =- Вы не правы не пойдёт. |
| Автор: -= Александр =- 10.6.2004, 13:36 |
| Я свой покупал пару недель назад за 140р Зависит от того где покупать. Я брал в Питерском Чип-и-Дип. В Микронике чуть дороже, но никак не $10. Это всякие Меги128 и другие мохнатые контроллеры так дорого стоют. У меня ATMega8535 в дип-корпусе. Ну а чего вы хотите? Классный контроллер за дешево не купишь! Для меня этот оказался оптимальным. Добавлено @ 13:40 Кстати он юзается у меня вот здесь: http://www.my-robot.nm.ru/ |