Вопросы по С/С++ (СИ)
- coredumped
- Опытный кот
- Сообщения: 838
- Зарегистрирован: Вт апр 12, 2011 18:38:19
- Откуда: с Земли
Re: Вопросы по С/С++ (СИ)
МБ на контрафакт нарвался. Такое в Китае бывает - продают то ли отбракоковку, вобщем ХЗ где они их берут. Ясен пень, что такая лажа может попасть к нашим продавцам. Мы берем чипы оптом у преставителей ST, из более чем 10 тысяч штук брака пока не обнаружено.
С Космодромом и прочими мелкими поставщиками не работаем, стараемся все покапать у официальных представителей, и пока на фуфло не нарывались. 200 штук - это уже мелкий опт, можно у ST заказать.
С Космодромом и прочими мелкими поставщиками не работаем, стараемся все покапать у официальных представителей, и пока на фуфло не нарывались. 200 штук - это уже мелкий опт, можно у ST заказать.
Все будет только лучше, в крайнем случае - хуже.
- Реклама
Re: Вопросы по С/С++ (СИ)
Я не хочу договариваться и торговаться. Я хочу сразу видеть четкую цену. Почему Atmel и TI могут держать предсказуемые цены, а ST - нет? Если один проц сегодня стоит $1, завтра $3, послезавтра $0.7, через месяц $1.8 и так далее, а другой все это время ровненько стоит $2, я буду рассчитывать на второй.Всегда можно договориться о хороших оптовых ценах.
Против самих камней я ничего не имею. Процы как процы.
Ну да, ну да. Особенно на семинарах никто не заставляет.Никто Вас не заставляет использовать SPL
У TI в этом смысле все либерально. Хочешь либы? Есть либы, есть доки по ним. Хочешь сам? Пожалуйста, вот документация и примеры.
Кстати, я был бы очень рад, если бы вы дали мне ссылку на примеры/туториалы/документацию от ST по программированию STM БЕЗ их SPL. Чисто на CMSIS.
Я тоже.Не хочу холиварить
Разница между теорией и практикой на практике гораздо больше, чем в теории.
- coredumped
- Опытный кот
- Сообщения: 838
- Зарегистрирован: Вт апр 12, 2011 18:38:19
- Откуда: с Земли
Re: Вопросы по С/С++ (СИ)
Это потому, что Вы производством не занимаетесь. Я никогда не смотрю на цены на сайтах или чьих-то прайсах. Пишется запрос на партию в N штук, после небольшой переписки, сосотоящей из согласования планов поставки, получается конечная цена. Поверьте - она значительно отличается от цен в магазинах.YS писал(а):Я не хочу договариваться и торговаться. Я хочу сразу видеть четкую цену. Почему Atmel и TI могут держать предсказуемые цены, а ST - нет?
Если один проц сегодня стоит $1, завтра $3, послезавтра $0.7, через месяц $1.8 и так далее, а другой все это время ровненько стоит $2, я буду рассчитывать на второй.
Насчет непредсказуемости ST - есть такой момент, но цены только падали, ни разу никто не предлагал по повышенной цене то, что уже было обговорено.
Еще раз повторюсь, что против TI ничего не имею против, но у меня есть все средства и инструменты для ST, и я не вижу ни одной причины заводить все это для TI. Тут от FPGA мозги за малым не закипают, а если еще держать кучу разношерстных МК...
А если Вам нравятся Техасские Инструменты - так осваивайте их! (Я с них начинал
Все будет только лучше, в крайнем случае - хуже.
Re: Вопросы по С/С++ (СИ)
Эт правда, я производством не занимаюсь. В основном разработка штучных (<100 шт.)/уникальных девайсов (для исследований/конкретных задач автоматизации). А так, чтобы десятками тысяч - не, такого не было. Ну, пока, во всяком случае.
Я ничего не имею против ST в смысле именно железяк. Просто меня настораживает их рыночная политика - я не знаю, чего от них ждать. Потому пока всерьез не вкладываюсь в их МК.
Их G-серия - мое стандартное решение, если нужен "просто маленький контроллер".
Так никто и не заставляет.я не вижу ни одной причины заводить все это для TI
Уже, уже. Я успешно ставлю их в устройства.А если Вам нравятся Техасские Инструменты - так осваивайте их!
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Re: Вопросы по С/С++ (СИ)
Задача у меня большая. Опрашивать с 10 датчиков и выводить значение их на веб странице и на LCD.BCluster писал(а):YS, Там человек что-то типа часов делаетНо судя по всему, перемудрил.
pokk, Вы бы задачу сказали, вам бы посоветовали как это правильно сделать
Вот там на одной из страниц надо отображать сетевые настройки ip адрес и тд на каждый из этих параметров 4 раза вызываю функцию преобразования.
Web на wiznet w5500 делаю.
- Реклама
Re: Вопросы по С/С++ (СИ)
Устройство штучное или пойдет в серию (>100 шт.)? Если штучное, проще взять роутер, поставить на него OpenWRT и lighttpd, например. Ну и делать на базе этого.Опрашивать с 10 датчиков и выводить значение их на веб странице и на LCD.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Re: Вопросы по С/С++ (СИ)
Серийное.
- zero648
- Вымогатель припоя
- Сообщения: 650
- Зарегистрирован: Пн июн 18, 2012 12:01:04
- Откуда: Челябинская область, Копейск
Re: Вопросы по С/С++ (СИ)
STM32F3xxx and STM32F4xxx Cortex-M4 programming manualYS писал(а):Кстати, я был бы очень рад, если бы вы дали мне ссылку на примеры/туториалы/документацию от ST по программированию STM БЕЗ их SPL. Чисто на CMSIS.
http://www.st.com/web/en/resource/techn ... 046982.pdf
Re: Вопросы по С/С++ (СИ)
zero648, спасибо.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
-
sajkel
- Встал на лапы
- Сообщения: 105
- Зарегистрирован: Вт янв 19, 2010 22:52:13
- Откуда: Украина
- Контактная информация:
Re: Вопросы по С/С++ (СИ)
Здравствуйте. Я начинающий.
Объясните пожалуйста смысл вот этого 1 << PD0. 1<<3 -один сдвинуть на три бита в лево єто я понимаю.
Вот кусок кода:
while(1)
12.{
13.while ((PIND&(1 << PD0)) == 1){}
14._delay_ms(200);
15.if ((PINB&(1 << PB0)) == 0)
16.{
17.PORTB |= (1 << PB0);
Объясните пожалуйста смысл вот этого 1 << PD0. 1<<3 -один сдвинуть на три бита в лево єто я понимаю.
Вот кусок кода:
while(1)
12.{
13.while ((PIND&(1 << PD0)) == 1){}
14._delay_ms(200);
15.if ((PINB&(1 << PB0)) == 0)
16.{
17.PORTB |= (1 << PB0);
Re: Вопросы по С/С++ (СИ)
А что может быть где-то написано:1<<3 -один сдвинуть на три бита в лево єто я понимаю.
Код: Выделить всё
#define PD0 3-
sajkel
- Встал на лапы
- Сообщения: 105
- Зарегистрирован: Вт янв 19, 2010 22:52:13
- Откуда: Украина
- Контактная информация:
Re: Вопросы по С/С++ (СИ)
Вот весь код:
01.#include <avr/io.h>
02.#include <util/delay.h>
03.
04.int main(void)
05.{
06.DDRD = 0x00;
07.PORTD = 0xFF;
08.DDRB = 0xFF;
09.PORTB = 0x00;
10.
11.while(1)
12.{
13.while ((PIND&(1 << PD0)) == 1){}
14._delay_ms(200);
15.if ((PINB&(1 << PB0)) == 0)
16.{
17.PORTB |= (1 << PB0);
18.}
19.else
20.{
21.PORTB &= ~(1 << PB0);
22.}
23.while ((PIND&(1 << PD0)) == 0){}
24._delay_ms(200);
25.}
26.}
C того что вы сказали ровным щетом ничего не понял.
01.#include <avr/io.h>
02.#include <util/delay.h>
03.
04.int main(void)
05.{
06.DDRD = 0x00;
07.PORTD = 0xFF;
08.DDRB = 0xFF;
09.PORTB = 0x00;
10.
11.while(1)
12.{
13.while ((PIND&(1 << PD0)) == 1){}
14._delay_ms(200);
15.if ((PINB&(1 << PB0)) == 0)
16.{
17.PORTB |= (1 << PB0);
18.}
19.else
20.{
21.PORTB &= ~(1 << PB0);
22.}
23.while ((PIND&(1 << PD0)) == 0){}
24._delay_ms(200);
25.}
26.}
C того что вы сказали ровным щетом ничего не понял.
Re: Вопросы по С/С++ (СИ)
Загляните в avr/io.h или (если IDE умеет) CTRL+клик мышкой на идентификаторе - перебросит на объявление.- Ты суслика видишь?
- Нет.
- И я нет. А он есть!
Я сказал то, что ваш PB0, PD0 и все остальные имена где-то задефайнены как числа или адреса.C того что вы сказали ровным щетом ничего не понял.
-
sajkel
- Встал на лапы
- Сообщения: 105
- Зарегистрирован: Вт янв 19, 2010 22:52:13
- Откуда: Украина
- Контактная информация:
Re: Вопросы по С/С++ (СИ)
То что PD0 єто нулевой бит порта D я понимаю. Не могу понять что значит єто выражение 1<<pd0 -сдвинуть единицу на число указывающее номер бита? я прав? Почему тогда не записать єто вот так 1<<0? И зачем что то сдвигать если оно по сути ни куда не сдвигается?
Re: Вопросы по С/С++ (СИ)
Да.сдвинуть единицу на число указывающее номер бита?
Для стандартизации. Почему это так полезно - поймете с опытом, когда начнете писать более сложные программы.Почему тогда не записать єто вот так 1<<0? И зачем что то сдвигать если оно по сути ни куда не сдвигается?
Разница между теорией и практикой на практике гораздо больше, чем в теории.
-
sajkel
- Встал на лапы
- Сообщения: 105
- Зарегистрирован: Вт янв 19, 2010 22:52:13
- Откуда: Украина
- Контактная информация:
Re: Вопросы по С/С++ (СИ)
Спасибо. Ответ исчерпывающий.
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Вопросы по С/С++ (СИ)
Кстати, писать такне совсем красиво.
Да, если это - проверка единисности бита, то в конкретно этом случае (только для 0-го бита) это сработает. Но для другого - придётся писать уже, по этой системе,и т. д.
Лучше сразу приучиться к единообразию типаи
Код: Выделить всё
while ((PIND&(1 << PD0)) == 1)Да, если это - проверка единисности бита, то в конкретно этом случае (только для 0-го бита) это сработает. Но для другого - придётся писать уже, по этой системе
Код: Выделить всё
while ((PIND&(1 << PD1)) == 2)Код: Выделить всё
while ((PIND&(1 << PD2)) == 4),Лучше сразу приучиться к единообразию типа
Код: Выделить всё
while ((PIND&(1 << PD0)) == (1 << PD0))Код: Выделить всё
while ((PIND&(1 << PD1)) == (1 << PD1))- coredumped
- Опытный кот
- Сообщения: 838
- Зарегистрирован: Вт апр 12, 2011 18:38:19
- Откуда: с Земли
Re: Вопросы по С/С++ (СИ)
А лучше так:
Код: Выделить всё
while (PIND&(1 << PD0))
while (PIND&(1 << PD1))Все будет только лучше, в крайнем случае - хуже.
Re: Вопросы по С/С++ (СИ)
А еще лучше так
ну или
Код: Выделить всё
#define PD2 1 << 2
while (PIND & PD2)
{
...
}
Код: Выделить всё
while (PIND & PD2 > 0)
{
...
}
while (PIND & PD2 == 0)
{
...
}
Re: Вопросы по С/С++ (СИ)
Не особо. Будет конфликтовать со встроенными определениями. И макросы я бы в скобочки-то заключал...А еще лучше так
А вообще, в AVR-libc есть макрос _BV(...), как раз сдвигающий биты.
Код: Выделить всё
while (PIND & _BV(PD0))
{
...
}
Разница между теорией и практикой на практике гораздо больше, чем в теории.


