-
设置BOOT0=1、BOOT1=1即可。
-
按照ut1lut的方法改过的程序中断代码入下:
void I2C1_EV_IRQHandler(void)
{
i2cEvent = I2C_GetLastEvent(I2C1);
i2cEventGroup[i2cEventCounter++] = i2cEvent;
switch (i2cEvent)
{
case I2C_EVENT_MASTER_MODE_SELECT: /* EV5 */
if(Direction == Transmitter)
{
I2C_Send7bitAddress(I2C1, destAddr, I2C_Direction_Transmitter);
}
else
{
I2C_Send7bitAddress(I2C1, destAddr, I2C_Direction_Receiver);
}
break;
case I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED:
I2C_SendData(I2C1, i2cSendBuf[i2cSendCount++]);
if(i2cSendLen == 1)
I2C_ITConfig(I2C1, I2C_IT_BUF, DISABLE);
break;
case I2C_EVENT_MASTER_BYTE_TRANSMITTING: /* Without BTF, EV8 */
if(i2cSendCount < i2cSendLen)
{
I2C_SendData(I2C1, i2cSendBuf[i2cSendCount++]);
}
else
{
I2C_GenerateSTOP(I2C1, ENABLE);
I2C_ITConfig(I2C1, I2C_IT_BUF, DISABLE);
}
break;
case I2C_EVENT_MASTER_BYTE_TRANSMITTED: /* With BTF EV8-2 */
if(bSubMenu_Rd == 0)
{
wrTaskState = 3;
}
else
{
Direction = Receiver;
I2C_GenerateSTART(I2C1, ENABLE);
}
I2C_ITConfig(I2C1, I2C_IT_BUF, ENABLE);
break;
/* Master Receiver -------------------------------------------------------*/
case I2C_EVENT_MASTER_RECEIVER_MODE_SELECTED:
if(i2cRevLen == 1)
{
I2C_AcknowledgeConfig(I2C1, DISABLE);
I2C_GenerateSTOP(I2C1, ENABLE);
}
break;
case I2C_EVENT_MASTER_BYTE_RECEIVED:
i2cRevBuf[i2cRevCount++] = I2C_ReceiveData (I2C1);
if(i2cRevCount == (i2cRevLen - 1))
{
I2C_AcknowledgeConfig(I2C1, DISABLE);
I2C_GenerateSTOP(I2C1, ENABLE);
}
else if(i2cRevCount == i2cRevLen)
{
rdTaskState = 3;
}
else
;
break;
default:
break;
}
}
-
我只用不到一周就升级了,北京給办的
-
东西拿走,话语留下,我顶你
-
引用 8 楼 sturtle 的回复:
Samsung给的MultimediaDemo就可以的
请问 Samsung给的MultimediaDemo 在哪里啊 是有源码的吗
-
有同感.
-
学习一下
-
楼主后来怎么解决了,我现在也需要这个
-
电容式触摸屏对于那些多点触摸很有优势,电阻的做不了
-
呵呵,说的具体一点可不可以?
-
你提供的数据是数码管的7段码码表值,这里面的数据是根据电路的连接以及所选用的硬件的性质决定的,不是随机数。
另外,那句是用于定义一个数组,当然数组中的数据一开始可能就是已知的。
-
除了去年103C8的有段时间缺货,现在比较常用的料号都不缺的
-
很纳闷呢,不晓得跑哪去了
-
什么错误,数据不对吗,注意下波特率的设置
-
这个不大清楚,这里没有专业玩芯片的,可以去中国IT芯片联盟,那里才是玩芯片的高手
-
楼主问题解决了吗?我也遇到了类似的情况,请高手解答
-
应该是定制时让根文件系统用Rom-Only file system,并把你的Flash对应的Profile注册表中设置"MountAsRoot"=dword:1
-
引用 67 楼 guopeixin 的回复:
还是你寄存器配置的问题
好好看一下芯片验证人员的小pattern吧
你说的是验证人员在无系统下测试SD的测试程序吗?
现在是可能确实发送CMD17命令时,DBR发送错误。
有人认为:在SD初始化时,没有清DMAbuffer,不过,一开始设置DMAbuffer时,代码如下(应该是保证buffer为空了吧):
DMA_ADAPTER_OBJECT dmaAdapter;
dmaAdapter.ObjectSize = sizeof(dmaAdapter);
dmaAdapter.InterfaceType = Internal;
dmaAdapter.BusNumber = 0;
m_pDMABuffer = (PBYTE)HalAllocateCommonBuffer( &dmaAdapter, MAXIMUM_DMA_TRANSFER_SIZE, &m_pDMABufferPhys, FALSE );
if( m_pDMABuffer == NULL )
{
RETAILMSG(DEBUG_SD, (TEXT("***SHCDriver: - Unable to allocate memory for DMA buffers!\r\n")));
status = SD_API_STATUS_INSUFFICIENT_RESOURCES;
goto INIT_ERROR;
}
CMD17时发送的数据和ACMD51时,是一样,从这情况来看,应该是每个用buffer之前都得清一次0,而不是在SD初始化时清0,是这样的吗?
-
这样改的结果是:发生未定义指令异常时,会跳到你的"HandleSWI"去,至于你的"HandleSWI"是做什么的,处理器是不会管的:)
-
华清远见挺出名的
不过其实也就那么回事
培训完了还是不会什么
我有朋友刚培训完的
楼主还是找家小公司锻炼吧