Comments 14
Пишите еще, очень полезно и толково.
Вроде бы статья для новичков, но понять новичку - вряд ли!
1. Чем программировать и как?!
2. "Надо заметить, что файл msp430f2274.h содержит много полезной информации. Там находятся все константы контроллера с комментариями на английском. " - то есть должно быть все понятно?! Что-то понятного я там не нашел.
а) Сейчас посмотрим про тайный смысл этих констант - "WDTCTL = WDTPW + WDTHOLD;", и так, что написано в msp430f2274.h:
"/*************************************************************
WATCHDOG TIMER
************************************************************/
#define __MSP430_HAS_WDT__ /* Definition to show that Module is available */
#define WDTCTL_ 0x0120 /* Watchdog Timer Control */
sfrw(WDTCTL, WDTCTL_);
/* The bit names have been prefixed with "WDT" */
#define WDTIS0 (0x0001)
#define WDTIS1 (0x0002)
#define WDTSSEL (0x0004)
#define WDTCNTCL (0x0008)
#define WDTTMSEL (0x0010)
#define WDTNMI (0x0020)
#define WDTNMIES (0x0040)
#define WDTHOLD (0x0080)
#define WDTPW (0x5A00)"
И что из этого новичок должен понять?!
б) в статье описали PxDIR, PxREN, PxIN, PxOUT, PxSEL, BITх, "|=", "&=~" - да, понятно, но почему так: "P1OUT &= ~BIT0; P1OUT &= ~BIT1;", а не так: "P1OUT &= ~(BIT0+BIT1);" - что-то запрещает?!
в) "PxSEL выбирает функцию пина. В datasheet на изображении микроконтроллера функции обычно указывают через знак «/». Например на рисунке P2.7 работает как обычный пин в случае, если P2SEL имеет 0 в соответствующем разряде. По умолчанию, в данном случае, там установлена единица, что означает, что эта лапка предназначена для подключения внешнего часового кварцевого резонатора."
Как выбирается функция пина, если указано несколько функций через знак «/»?
"P3SEL = BIT1 + BIT2 + BIT3;" - по умолчанию там "0" - просто пин ввода-вывода? Возводя в "1" мы переводим в SPI0, он же UCB0?
Ну и так далее про SPI - мало что понятно новичку, только догадываться.
Примеры статей понятные новичку:
https://hubstub.ru/stm32/65-stm32-gpio-ili-porty-vvoda-vyvoda.html
http://dimoon.ru/obuchalka/stm32f1/programmirovanie-stm32-chast-5-portyi-vvoda-vyivoda-gpio.html
MSP430, учимся программировать и отлаживать железо