[ZLG-ARM] I2C总线模块不能连续读写等 4 个问题

[复制链接]
3436|4
 楼主| swill_333 发表于 2007-5-11 09:27 | 显示全部楼层 |阅读模式
<br />一,&nbsp;&nbsp;&nbsp;&nbsp;<br />1,&nbsp;&nbsp;&nbsp;&nbsp;果在任务I2CreadWrite()中不加延时程序&nbsp;1,2,连续读写EEPROM&nbsp;&nbsp;&nbsp;&nbsp;,这个任务只会在执行一次,以后不会再执行。其他任务Buzer(void&nbsp;*pdata)和TaskUart0Receive能够正常运行,<br />2,&nbsp;&nbsp;&nbsp;&nbsp;尝试过去掉pUart0Queue=OSQPend(Uart0Even,0,&err);&nbsp;改为直接连续在这个任务中读写EEPROM,也不行,必须的加加延时程序&nbsp;1,2,才能正常进入此任务。<br />3,&nbsp;&nbsp;&nbsp;&nbsp;我想不明白?请教各位!<br /><br />#include&nbsp;&quot;config.h&quot;<br />#include&nbsp;&quot;stdlib.h&quot;<br /><br />/*******************&nbsp;Stack&nbsp;Define&nbsp;**********************/<br />#define&nbsp;&nbsp;&nbsp;&nbsp;TaskStkLengh&nbsp;&nbsp;&nbsp;&nbsp;128//Define&nbsp;the&nbsp;Task0&nbsp;stack&nbsp;length&nbsp;定义用户任务0的堆栈长度<br />#define&nbsp;I2cRdWrtSize&nbsp;&nbsp;&nbsp;&nbsp;128//Define&nbsp;I2c&nbsp;function&nbsp;stack&nbsp;length<br />&nbsp;<br />OS_STK&nbsp;&nbsp;&nbsp;&nbsp;TaskStk&nbsp;[TaskStkLengh];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Define&nbsp;the&nbsp;Task0&nbsp;stack&nbsp;定义用户任务0的堆栈<br />OS_STK&nbsp;&nbsp;BuzerStk[TaskStkLengh];<br />OS_STK&nbsp;&nbsp;I2CReadWriteStk[I2cRdWrtSize];<br />OS_STK&nbsp;&nbsp;Uart0Stk[TaskStkLengh];<br /><br /><br />/**********&nbsp;I/O&nbsp;Define&nbsp;*****************/<br />#define&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BEEPCON&nbsp;&nbsp;0x00000080&nbsp;/*&nbsp;P0.7引脚控制B1,低电平蜂鸣&nbsp;*/<br /><br /><br />/**********&nbsp;Parameter&nbsp;Ddfine&nbsp;******************/<br />&nbsp;&nbsp;&nbsp;&nbsp;//---Uart0<br />#define&nbsp;&nbsp;SynUart0&nbsp;0x55//&nbsp;Uart0&nbsp;communiction&nbsp;start<br /><br /><br /><br />/**************Fuction&nbsp;Declare****************/<br />void&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Task0(void&nbsp;*pdata);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Task0&nbsp;任务0<br />&nbsp;&nbsp;&nbsp;<br /><br /><br />/****************************************************************************<br />//FuctionName:Buzer<br />//Description:蜂鸣器1秒叫一次<br />&nbsp;//Input:<br />//Output:<br />//Author:<br />//Date:24_Apr_07<br />****************************************************************************/<br />void&nbsp;Buzer(void&nbsp;*pdata)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;pdata=pdata;<br />&nbsp;&nbsp;&nbsp;&nbsp;for(;;)<br />&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IO0SET&nbsp;=&nbsp;BEEPCON;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OSTimeDly(100);&nbsp;//延时1S&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IO0CLR&nbsp;=&nbsp;BEEPCON;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OSTimeDly(50);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br /><br /><br />/****************************************************************************<br />//FuctionName:I2CReadWrite<br />//Description:I2c&nbsp;接收UART0的数据,再写如EEPROM,再读出,对比看正确否<br />//Input:<br />//Output:<br />//Author:<br />//Date:<br />****************************************************************************/<br />void&nbsp;I2CReadWrite(void&nbsp;*pdata)<br />{<br />&nbsp;<br />&nbsp;&nbsp;&nbsp;INT8U&nbsp;*pUart0Queue;<br />&nbsp;&nbsp;&nbsp;INT8U&nbsp;err;&nbsp;<br />&nbsp;&nbsp;&nbsp;INT8U&nbsp;ReadBuf[10];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;INT8U&nbsp;I2cWordAdr[]={0x10};<br />&nbsp;&nbsp;&nbsp;//INT8U&nbsp;WriteBuf[]={0x01,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11};<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;pdata=pdata;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;while(1)<br />&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pUart0Queue=OSQPend(Uart0Even,0,&err);&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//先读到BUF,后面对比&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I2cRead(CAT24WC02,&nbsp;ReadBuf,I2cWordAdr,&nbsp;1,&nbsp;10);&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OSTimeDly(1);//I2c不能连续读写,一定加延时,---------------1&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ReadBuf[0]=&nbsp;*pUart0Queue;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//写串口接到的数据到EEPROM&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I2cWrite(CAT24WC02,pUart0Queue,&nbsp;10);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OSTimeDly(1);------------------------------------------------------------2<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//再读出,对比,看正确否&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I2cRead(CAT24WC02,&nbsp;ReadBuf,&nbsp;ReadBuf,&nbsp;1,&nbsp;10);&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OSTimeDly(2);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I2cRead(CAT24WC02,&nbsp;ReadBuf,&nbsp;WriteBuf,&nbsp;1,&nbsp;10);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OSTimeDly(100);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I2cWrite(CAT24WC02,&nbsp;WriteBuf,&nbsp;11);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OSTimeDlyHMSM(0,0,2,0);//Dly&nbsp;2S&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I2cRead(CAT24WC02,&nbsp;ReadBuf,&nbsp;WriteBuf,&nbsp;1,&nbsp;10);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OSTimeDly(100);&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br /><br /><br />/****************************************************************************<br />//FuctionName:TaskUart0Receive<br />//Description:接收从上位机EasyARM软件的数据,第一字节是同步头0X55,第二字节是<br />//发送的数据字节数量<br />//Input:<br />//Output:<br />//Author:<br />//Date:9-May-07<br />****************************************************************************/<br />void&nbsp;&nbsp;TaskUart0Receive(void&nbsp;*pdata)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;INT8U&nbsp;*pUart0Buf;<br />&nbsp;&nbsp;&nbsp;&nbsp;INT8U&nbsp;Uart0Buf[10];<br />&nbsp;&nbsp;&nbsp;&nbsp;INT8U&nbsp;i=0x00;<br />&nbsp;&nbsp;&nbsp;&nbsp;INT8U&nbsp;z=0x00;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;pdata&nbsp;=&nbsp;pdata;/*&nbsp;避免编译警告&nbsp;*/<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(;;)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;(UART0Getch()&nbsp;!=&nbsp;SynUart0);&nbsp;&nbsp;//第一字节是同步头0X55&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;z=UART0Getch();&nbsp;&nbsp;//第二字节是发送的数据字节数量<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pUart0Buf&nbsp;=&nbsp;Uart0Buf;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(i=0x00;i&ltz;i++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*pUart0Buf++&nbsp;=&nbsp;UART0Getch();//Save&nbsp;data&nbsp;to&nbsp;Uart0Buf<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OSQPostFront(Uart0Even,Uart0Buf);//发送消息Queue&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OSTimeDly(1);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br /><br />/******************************************************************************<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Task0&nbsp;任务0<br />***************************************************************************/<br />void&nbsp;Task0&nbsp;&nbsp;&nbsp;&nbsp;(void&nbsp;*pdata)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;pdata&nbsp;=&nbsp;pdata;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;TargetInit&nbsp;();<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;OSTaskCreate&nbsp;(Buzer,(void&nbsp;*)0,&nbsp;&BuzerStk[TaskStkLengh-1],&nbsp;3);//Test&nbsp;Timer0&nbsp;setting,<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;OSTaskCreate(I2CReadWrite,(void*)0,&I2CReadWriteStk[I2cRdWrtSize-1],2);//I2c&nbsp;reading&nbsp;and&nbsp;writing&nbsp;fuction&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;OSTaskCreate(TaskUart0Receive,(void*)0,&Uart0Stk[TaskStkLengh-1],1);//Uart0&nbsp;receive&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;(1)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OSTimeDly(10);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br /><br />int&nbsp;main&nbsp;(void)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;PINSEL0=0X00000000;//Conection&nbsp;GPIO<br />&nbsp;&nbsp;&nbsp;&nbsp;IO0DIR=BEEPCON;//I/O&nbsp;output&nbsp;pin&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;OSInit&nbsp;();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;OSTaskCreate&nbsp;(Task0,(void&nbsp;*)0,&nbsp;&TaskStk[TaskStkLengh&nbsp;-&nbsp;1],&nbsp;0);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;OSStart&nbsp;();<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br />&nbsp;&nbsp;&nbsp;<br />/******************************************************************************<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;Of&nbsp;File<br />******************************************************************************/<br /><br />二,<br />&nbsp;&nbsp;周立功的EasyArm上位机串口通讯软件不能用作串口2,3。<br />&nbsp;&nbsp;我主板只有一个串口,买了个扩展串口卡,但EasyArm在选用2,3时,即使不接实验板<br />它自己也能够自发自收,不需要经过实验板<br /><br />三,<br />&nbsp;&nbsp;&nbsp;我买的EasyArm自己带的I2C读写程序,I2CWRITE()函数(在基础教程P448),子地址和数据放在同个BUF里面,使用不方便。<br />&nbsp;&nbsp;&nbsp;如果24C16要使用这个模块函数,那怎么办呢?<br /><br />四,<br />&nbsp;&nbsp;深圳周立功分公司不提供技术支持<br />&nbsp;&nbsp;我在深圳的销售商那里买的EasyArm2200,问深圳周立功分公司答复不是他们那儿买的,不提供技术支持,深圳周立功分公司周末从不上班,我周末才休息,我怎么能到他们那里买呢?!<br /><br />
malaohu 发表于 2007-5-11 19:48 | 显示全部楼层

说实话,你的帖子太长了看不下去:(

sorry,我也不太懂
 楼主| swill_333 发表于 2007-5-14 09:52 | 显示全部楼层

谢谢提醒!

谢谢&nbsp;malaohu&nbsp;提醒!
zlgARM 发表于 2007-5-14 19:05 | 显示全部楼层

swill_333

uc/os下,任务不能执行的原因是优先级不够,无法在任务调度中获得运行权。请您分析一下加了延时和没加延时这两种情况下,任务的优先级变化。<br />最好能自己模拟地画出运行任务变化的状态图。
 楼主| swill_333 发表于 2007-5-15 08:52 | 显示全部楼层

谢谢 zlgARM ,我继续努力

谢谢&nbsp;zlgARM&nbsp;指点,我试一试.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

32

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部