cc2538在contiki系统的串口数据输…
2017-03-08 11:00
225 查看
调试时间两天多,换了六七个版本的contiki,最后还是拿着例子按照减法的方式一步一步减掉然后差不多是成了,现在觉得是Makefile设定的问题了,真的很迷,官方wiki,教程和README一点都没有提及!
官方的wiki看起来很久没有更新,带来了很大的困扰。
花费了两个一整天都在搞串口传入问题,不解决这个问题后面的shell,ELF和Coffee等一大堆都没有办法实现,官方做的真的有点糟糕。
成功实现串口传入后回传这一功能的文件
主文件:cc2538-demo.c
#include "contiki.h"
#include "cpu.h"
#include "sys/etimer.h"
#include "sys/rtimer.h"
#include "dev/leds.h"
#include "dev/uart.h"
#include "dev/cc2538-sensors.h"
#include "dev/button-sensor.h"
#include "dev/als-sensor.h"
#include "dev/watchdog.h"
#include "dev/serial-line.h"
#include "dev/sys-ctrl.h"
#include "net/rime/broadcast.h"
#include
#include
#define LEDS_PERIODIC
LEDS_RED
static struct etimer et;
static struct rtimer rt;
static uint16_t counter;
PROCESS(cc2538_demo_process, "cc2538 demo process");
AUTOSTART_PROCESSES(&cc2538_demo_process);
void
rt_callback(struct rtimer *t, void *ptr)
{
leds_off(LEDS_PERIODIC);
}
PROCESS_THREAD(cc2538_demo_process, ev, data)
{
PROCESS_BEGIN();
while(1) {
PROCESS_YIELD();
if(ev
== serial_line_event_message)
{
printf("Data
Receive\n");
printf("Receive data
is:%s\n",data);
}
}
PROCESS_END();
}
Makefile文件:
DEFINES+=PROJECT_CONF_H=\"project-conf.h\"
CONTIKI_PROJECT = cc2538-demo timer-test
all: $(CONTIKI_PROJECT)
CONTIKI = ../../..
CONTIKI_WITH_RIME = 1
CONTIKI_WITH_IPV4 = 1
CONTIKI_WITH_IPV6 = 0
include $(CONTIKI)/Makefile.include
project-conf.h文件:
#ifndef PROJECT_CONF_H_
#
4000
define PROJECT_CONF_H_
#define NETSTACK_CONF_RDC
nullrdc_driver
#endif
官方的wiki看起来很久没有更新,带来了很大的困扰。
花费了两个一整天都在搞串口传入问题,不解决这个问题后面的shell,ELF和Coffee等一大堆都没有办法实现,官方做的真的有点糟糕。
成功实现串口传入后回传这一功能的文件
主文件:cc2538-demo.c
#include "contiki.h"
#include "cpu.h"
#include "sys/etimer.h"
#include "sys/rtimer.h"
#include "dev/leds.h"
#include "dev/uart.h"
#include "dev/cc2538-sensors.h"
#include "dev/button-sensor.h"
#include "dev/als-sensor.h"
#include "dev/watchdog.h"
#include "dev/serial-line.h"
#include "dev/sys-ctrl.h"
#include "net/rime/broadcast.h"
#include
#include
#define LEDS_PERIODIC
LEDS_RED
static struct etimer et;
static struct rtimer rt;
static uint16_t counter;
PROCESS(cc2538_demo_process, "cc2538 demo process");
AUTOSTART_PROCESSES(&cc2538_demo_process);
void
rt_callback(struct rtimer *t, void *ptr)
{
leds_off(LEDS_PERIODIC);
}
PROCESS_THREAD(cc2538_demo_process, ev, data)
{
PROCESS_BEGIN();
while(1) {
PROCESS_YIELD();
if(ev
== serial_line_event_message)
{
printf("Data
Receive\n");
printf("Receive data
is:%s\n",data);
}
}
PROCESS_END();
}
Makefile文件:
DEFINES+=PROJECT_CONF_H=\"project-conf.h\"
CONTIKI_PROJECT = cc2538-demo timer-test
all: $(CONTIKI_PROJECT)
CONTIKI = ../../..
CONTIKI_WITH_RIME = 1
CONTIKI_WITH_IPV4 = 1
CONTIKI_WITH_IPV6 = 0
include $(CONTIKI)/Makefile.include
project-conf.h文件:
#ifndef PROJECT_CONF_H_
#
4000
define PROJECT_CONF_H_
#define NETSTACK_CONF_RDC
nullrdc_driver
#endif
相关文章推荐
- 称重系统就是连接仪表串口,读取仪表发送的重量数据,保存就可以了嘛
- 4、contiki系统开发-UDP-IPV6数据传输功能测试
- cc2530-Contiki系统的串口输入问题
- 地磅称量系统之(59) 接收串口数据(串口控件的属性设置和超级终端的使用)
- Linux系统串口接收数据编
- Linux系统串口接收数据编程
- [科研论文]基于W5300的以太网和串口数据相互转换系统设计
- 在ucos系统上使用USART1串口中断函数处理串口数据
- Linux系统串口接收数据编程
- [科研论文]基于W5300的以太网和串口数据相互转换系统设计
- Linux系统串口接收数据编程
- Linux系统串口接收数据编程
- Linux系统串口接收数据编程
- 实时读取串口数据(系统方法)
- Linux系统串口接收数据编程
- Linux系统下串口接收数据,部分特殊字符丢失的解决方法 .
- 中控系统一键关机--读取串口数据并判断
- PROCEDURE_监测系统_原始数据报表数据生成存储过程—求每天平均值插入多表视图
- UNIX环境高级编程学习之第六章系统数据文件和信息-修改第四章实现的Shell的“ls -l”功能
- APUE学习笔记4——第六章——系统数据文件和信息