本帖最后由 ╮倾壹伳柔情 于 2015-6-3 13:07 编辑 先简单介绍一下SmeshStudio(官网摘录http://mbed.smeshlink.com/guide),当前物联网开发领域流行着三大可商用的开源软件平台,它们分别是Arduino, mBed和Contiki,它们在各自的应用领域都有着自己的优势,简单来说,Arduino重在简单易用,可以方便地连接各类传感器;mBed重在支持广泛,应用开发通用性强;Contiki重在网络功能强大,应用开发互联方便。但对于开发者来说,这三者都没有提供让开发者满意的本地化IDE开发环境,如Arduino的开发环境过于简单,mBed只提供在线开发环境,Contiki干脆全部用命令行操作,这在一定程度上降低了开发者的开发效率,同时也减缓了这三者的推广进度。当然,从未来的发展来看,mBed将会实现6LowPan等各种通讯协议,同时也将具有Arduino的简单应用性,绝对是未来的主流。SMeshStudio就是在这样的背景下产生的,它基于Eclipse和Arduino Eclipse Plugin开发(感谢他们做出的伟大产品),支持Arduino, mBed和Contiki应用的开发、编译和上载(不支持调试),可以大大加快开发者使用上述开源系统进行应用开发的过程。 个人觉得Mbed挺有意思的,所以想试了玩玩,只是需要网络不太方便,而SmeshStudio正好也支持mbed,就试试了,确实挺方便,整个示例让想玩mbed又没网的朋友试试。 首先当然是下载SmeshStudioIDE(具体下载地址:https://pan.baidu.com/s/1kTgIEof) 下载完成就可以使用了,基于eclipse的IDE。 打开IDE显示如图: 1 选择菜单File->new->project,弹出如图对话框: 2 选择mbed(Arduino,Contiki)->new mbed,点击next,填入project name,点击next选择自己的板子和COM口及Nucleo产生的磁盘盘符,我的配置如图: 3 第一个下拉框内要选择mbed的那个txt 第二个下拉框选择Nucleo F303,当然其他板子可以选择其他的 下面两个分别选择COM口和盘符 设置好后点击finish就ok了,出现project目录。 如图打开project2.cpp里面已经有一个可以运行的led亮灭程序,编译下载,板子就可以运行了。 4 修改了一下程序,通过nucleo303板子上自带的按钮控制led灯的亮灭。如图: 5 // Do not remove the include below #include "project1.h" DigitalOutled(LED1); DigitalInbtn(USER_BUTTON); int main() { while(1) { led=!btn; wait(1); } } // Auto Added by "SMeshLink SMeshStudio" 编译下载后既可以通过板子上的用户按钮控制灯的亮灭。按下灯亮,不按灯灭。 附: 板子的引脚定义在mbed->core->hal->pinmap.h->PinName.h中,如图: 6 #ifndef MBED_PINNAMES_H #define MBED_PINNAMES_H #include "cmsis.h" #ifdef __cplusplus extern "C" { #endif // See stm32f3xx_hal_gpio.h and stm32f3xx_hal_gpio_ex.h for values of MODE, PUPD and AFNUM #define STM_PIN_DATA(MODE, PUPD, AFNUM) ((int)(((AFNUM) << 7) | ((PUPD) << 4) | ((MODE) << 0))) #define STM_PIN_MODE(X) (((X) >> 0) & 0x0F) #define STM_PIN_PUPD(X) (((X) >> 4) & 0x07) #define STM_PIN_AFNUM(X) (((X) >> 7) & 0x0F) #define STM_MODE_INPUT (0) #define STM_MODE_OUTPUT_PP (1) #define STM_MODE_OUTPUT_OD (2) #define STM_MODE_AF_PP (3) #define STM_MODE_AF_OD (4) #define STM_MODE_ANALOG (5) #define STM_MODE_IT_RISING (6) #define STM_MODE_IT_FALLING (7) #define STM_MODE_IT_RISING_FALLING (8) #define STM_MODE_EVT_RISING (9) #define STM_MODE_EVT_FALLING (10) #define STM_MODE_EVT_RISING_FALLING (11) #define STM_MODE_IT_EVT_RESET (12) // High nibble = port number (0=A, 1=B, 2=C, 3=D, 4=E, 5=F, 6=G, 7=H) // Low nibble = pin number #define STM_PORT(X) (((uint32_t)(X) >> 4) & 0xF) #define STM_PIN(X) ((uint32_t)(X) & 0xF) typedef enum { PIN_INPUT, PIN_OUTPUT } PinDirection; typedef enum { PA_0 = 0x00, PA_1 = 0x01, PA_2 = 0x02, PA_3 = 0x03, PA_4 = 0x04, PA_5 = 0x05, PA_6 = 0x06, PA_7 = 0x07, PA_8 = 0x08, PA_9 = 0x09, PA_10 = 0x0A, PA_11 = 0x0B, PA_12 = 0x0C, PA_13 = 0x0D, PA_14 = 0x0E, PA_15 = 0x0F, PB_0 = 0x10, PB_1 = 0x11, PB_2 = 0x12, PB_3 = 0x13, PB_4 = 0x14, PB_5 = 0x15, PB_6 = 0x16, PB_7 = 0x17, PB_8 = 0x18, PB_9 = 0x19, PB_10 = 0x1A, PB_11 = 0x1B, PB_12 = 0x1C, PB_13 = 0x1D, PB_14 = 0x1E, PB_15 = 0x1F, PC_0 = 0x20, PC_1 = 0x21, PC_2 = 0x22, PC_3 = 0x23, PC_4 = 0x24, PC_5 = 0x25, PC_6 = 0x26, PC_7 = 0x27, PC_8 = 0x28, PC_9 = 0x29, PC_10 = 0x2A, PC_11 = 0x2B, PC_12 = 0x2C, PC_13 = 0x2D, PC_14 = 0x2E, PC_15 = 0x2F, PD_2 = 0x32, PF_0 = 0x50, PF_1 = 0x51, // Arduino connector namings A0 = PA_0, A1 = PA_1, A2 = PA_4, A3 = PB_0, A4 = PC_1, A5 = PC_0, D0 = PA_3, D1 = PA_2, D2 = PA_10, D3 = PB_3, D4 = PB_5, D5 = PB_4, D6 = PB_10, D7 = PA_8, D8 = PA_9, D9 = PC_7, D10 = PB_6, D11 = PA_7, D12 = PA_6, D13 = PA_5, D14 = PB_9, D15 = PB_8, // Generic signals namings LED1 = PA_5, LED2 = PA_5, LED3 = PA_5, LED4 = PA_5, USER_BUTTON = PC_13, SERIAL_TX = PA_2, SERIAL_RX = PA_3, USBTX = PA_2, USBRX = PA_3, I2C_SCL = PB_8, I2C_SDA = PB_9, SPI_MOSI = PA_7, SPI_MISO = PA_6, SPI_SCK = PA_5, SPI_CS = PB_6, PWM_OUT = PB_4, // Not connected NC = (int)0xFFFFFFFF } PinName; typedef enum { PullNone = 0, PullUp = 1, PullDown = 2, OpenDrain = 3, PullDefault = PullNone } PinMode; #ifdef __cplusplus } #endif #endif |
11 mbed ä¸å½ - mbed TFå¡ç使ç¨.pdf
下载870.91 KB, 下载次数: 12, 下载积分: ST金币 -1
12 mbed ä¸å½ - mbed I2Cé讯.pdf
下载1.27 MB, 下载次数: 23, 下载积分: ST金币 -1
13 mbed ä¸å½ - mbed åæ»çº¿é讯.pdf
下载1.16 MB, 下载次数: 24, 下载积分: ST金币 -1
14 mbed ä¸å½ - mbed 802.15.pdf
下载997.98 KB, 下载次数: 11, 下载积分: ST金币 -1
15 mbed ä¸å½ - mbedæ 线广ææ°æ®åéä¸Sniffer.pdf
下载997.88 KB, 下载次数: 12, 下载积分: ST金币 -1
16 mbed ä¸å½ - mbedç¹å¯¹ç¹æ 线æ°æ®åé.pdf
下载888.52 KB, 下载次数: 14, 下载积分: ST金币 -1
17 mbed ä¸å½ - mbedæ 线éä¿¡é«çº§åºç¨.pdf
下载1.55 MB, 下载次数: 11, 下载积分: ST金币 -1
18 mbed ä¸å½ - mbed-rtosæä½ç³»ç»æ¦è¿°.pdf
下载1.38 MB, 下载次数: 27, 下载积分: ST金币 -1
19 mbed ä¸å½ - mbed-rtosç线ç¨åæ¥.pdf
下载626.02 KB, 下载次数: 11, 下载积分: ST金币 -1
20 mbed ä¸å½ - mbed-rtosç线ç¨é´é讯.pdf
下载777.87 KB, 下载次数: 11, 下载积分: ST金币 -1
21 mbed ä¸å½ - mbed-rtoså¨ä¸ææå¡ç¨åºä¸çåºç¨.pdf
下载522.99 KB, 下载次数: 11, 下载积分: ST金币 -1
22 mbed ä¸å½ - mbed USBDEVICEé讯åºç¨.pdf
下载1.8 MB, 下载次数: 11, 下载积分: ST金币 -1
23 mbed ä¸å½ - mbed USBHOSTé讯åºç¨.pdf
下载1.45 MB, 下载次数: 21, 下载积分: ST金币 -1
24 mbed ä¸å½ - mbed 计ç®æºç½ç»åºç¨åºç¡.pdf
下载1015.81 KB, 下载次数: 12, 下载积分: ST金币 -1
25 mbed ä¸å½ - mbed TCPåºç¨ç¨åºåºç¡.pdf
下载1.88 MB, 下载次数: 24, 下载积分: ST金币 -1
26 mbed ä¸å½ - mbed UDPç¨åºè®¾è®¡åºç¡.pdf
下载967.02 KB, 下载次数: 11, 下载积分: ST金币 -1
27 mbed ä¸å½ - mbed HTTPåºç¨ç¨åºè®¾è®¡.pdf
下载1.24 MB, 下载次数: 22, 下载积分: ST金币 -1
28 mbed ä¸å½ - mbed HTTPæå¡ç«¯ç¨åºè®¾è®¡.pdf
下载1.17 MB, 下载次数: 24, 下载积分: ST金币 -1
29 mbed ä¸å½ - mbed NTPãSMTPãWEBSOCKETç¨åºè®¾è®¡.pdf
下载778.94 KB, 下载次数: 13, 下载积分: ST金币 -1
30 mbed ä¸å½ - mbed HTTP-RPCåºç¨.pdf
下载423.82 KB, 下载次数: 13, 下载积分: ST金币 -1
31 mbed ä¸å½ - 红å¤é¥æ§å¨ç使ç¨.pdf
下载978.74 KB, 下载次数: 16, 下载积分: ST金币 -1
32 mbed ä¸å½ - ADCåDACç使ç¨.pdf
下载679.49 KB, 下载次数: 14, 下载积分: ST金币 -1
33 mbed ä¸å½ - å æçµé»ç使ç¨.pdf
下载436.13 KB, 下载次数: 10, 下载积分: ST金币 -1
34 mbed ä¸å½ - æ°ç 管ç使ç¨.pdf
下载830.56 KB, 下载次数: 12, 下载积分: ST金币 -1
35 mbed ä¸å½ - ä¸è½´å é度ADXL345ç使ç¨.pdf
下载657.55 KB, 下载次数: 14, 下载积分: ST金币 -1
36 mbed ä¸å½ - èµæºç使ç¨.pdf
下载741.18 KB, 下载次数: 10, 下载积分: ST金币 -1
37 mbed ä¸å½ - MXOLED12864å±ç使ç¨.pdf
下载574.42 KB, 下载次数: 14, 下载积分: ST金币 -1
38 mbed ä¸å½ - è¶ å£°æ³¢æ¨¡åç使ç¨.pdf
下载616.99 KB, 下载次数: 10, 下载积分: ST金币 -1
39 mbed ä¸å½ - æé®ç使ç¨.pdf
下载718.13 KB, 下载次数: 10, 下载积分: ST金币 -1
40 mbed ä¸å½ - è鸣å¨ç使ç¨.pdf
下载471.75 KB, 下载次数: 11, 下载积分: ST金币 -1
41 mbed ä¸å½ - å¤ç½®LED亮ç¯ç使ç¨.pdf
下载327.93 KB, 下载次数: 12, 下载积分: ST金币 -1
42 mbed ä¸å½ - ç¹äº®æ¿è½½LEDç使ç¨.pdf
下载307.87 KB, 下载次数: 11, 下载积分: ST金币 -1
43 mbed ä¸å½ - mbed Contikiæ©å±åºç¡.pdf
下载513.42 KB, 下载次数: 12, 下载积分: ST金币 -1
44 mbed ä¸å½ - mbed Contikiå¿«éä½éª.pdf
下载896.22 KB, 下载次数: 10, 下载积分: ST金币 -1
45 mbed ä¸å½ - mbed Contiki 6LowPanåæ¥ä½éª.pdf
下载744.38 KB, 下载次数: 15, 下载积分: ST金币 -1
46 mbed ä¸å½ - mbed Contiki 使ç¨6LowPanç½ç»è®¿é®Httpæå¡.pdf
下载428.96 KB, 下载次数: 10, 下载积分: ST金币 -1
47 mbed ä¸å½ - mbed contiki éè¿OpenWrtè·¯ç±å¨è®¿é®6LowPanç½ç».pdf
下载653.5 KB, 下载次数: 17, 下载积分: ST金币 -1
串口字符自发自收只要一下几句。
// Do not remove the include below
#include "project1.h"
DigitalOut led(LED1);
DigitalIn btn(USER_BUTTON);
Serial USART_COM2(SERIAL_TX,SERIAL_RX);
void echouart()
{
USART_COM2.putc(USART_COM2.getc());
}
int main()
{
USART_COM2.attach(&echouart,SerialBase::RxIrq);
while (1)
{
led=0;
wait(1);
led=1;
wait(1);
}
}
// Auto Added by "SMeshLink SMeshStudio"
库已经封装在里面了,不用自己下载,看最后一个图左边部分
是C++,同见图左边部分里面展开有相关api之类
不是C++吗,看着还是c啊?