一点小成就,呵呵,前 天在宇东电子论坛qq群中问一个在用2430驱动其他设备时输入输出口转换的问题,即2430的IO口不是像51那样直接做输入输出用,而是用PXDIR 随时作输出/输 入的转换吗? 本来是说昨天在这里报告的,结果有些事情耽误了,今天在这里报告一下,驱动成功了,用了
#define P00_OUT P0DIR|=0x01//设置为输出口
#define P00_IN P0DIR&=0xfe//设置为输入口
在每次要用输入或者输出前加上,因为晶振很快(CC2430不做设定,默认为16Mhz)所以对时序影响还是蛮小的。
另外本人的程序是借鉴了如下两位的程序,在此贴出来网址,希望能对大家有用,由于刚出来,所以我的程序还没有整理,不过整理后会发上来。
第一篇
来自http://blog.163.com/mchen_6431/blog/static/32286312200932411724509/
注:版权归原作者网上有很多关于ds18b20的程序,但是就是没有找到在cc2430上的,今天奉上吧。
其中的delay函数参考了ti zstack中的MicroWait函数.最后数据显示在128*64的液晶上。
void Delay_nus(uint16 s) {
while (s--)
{
asm("NOP");
asm("NOP");
asm("NOP");
}
}
/*********************************************************************
*文件名:18B20.c
*功能:DS18B20温度采集
* @data:2009.4.24
* by mchen
*********************************************************************/
#include "18b20.h"
#include "LCD128_64.h"
unsigned char id[8];
unsigned char sensor_data_value[2];
unsigned char flag;
void Delay_nus(uint16 s) {
while (s--)<