-
看一下datasheet这个引脚是不是true open drain的,从症状来看是这样。
是否在选项字节中选中了这个引脚的I2C功能?
-
哎,应该提供一些伪指令来指定代码段的存储位置啊,就像51中的ORG伪指令一样。搞的好复杂
-
嗯,以前没有注意看,现在我简单地看了一下,确实没有太多信息。
能说说你需要知道哪些信息吗?如果你在设计产品时确实需要这些信息,我可以帮你问问,看能不能提供。
-
读写SPI_DR操作的是不同的物理寄存器,读时操作的是接收寄存器,写时操作的是发送寄存器,程序员无法读发送寄存器,也无法写接收寄存器!
-
引用 9 楼 thisway_diy 的回复:
nColor = ((green & 0x38) > 3); //I555
nColor = ((red & 0xf1)>>1) | (green >> 6); //I555
你的颜色组合算法怎么看着那么奇怪了,上面的算出一半,下面又没有使用。
nColor = (((unsigned short)red & 0xf8 ) 3);复制代码
-
C和汇编各有优势,这个就不多说了,关键看你个人喜好,只是有时C更容易懂
-
谢谢,那我先去买18欧姆的电阻,先焊上试试吧。最近高的头都大了!枚举换成定值是怎么换的?
-
你上网查 D12 芯片,老了点,但是资料都烂了,到处都是,什么解决方案都有,也包括你要的,还都是开源的,还有些有样品板卖
-
看一下模块的手册和at命令手册就知道了,
你的程序正常操作串口发at 命令就ok,
其他的你什么都不用管
-
buf=NULL;
delete []buf;
顺序搞错了吧
-
没人帮忙哪,自己顶下
-
代码如下:
//成员变量
CString m_strLastError;
HANDLE m_hRecvThread;
SOCKET m_hClientSocket;
//OnInitDialg中
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD( 2, 2 );
err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 )
{
m_strLastError.Format(_T("WSAStartup错误,错误原因:%d"),WSAGetLastError());
AfxMessageBox(m_strLastError);
return FALSE;
}
if ( LOBYTE( wsaData.wVersion ) != 2 ||
HIBYTE( wsaData.wVersion ) != 2 ) {
WSACleanup( );
AfxMessageBox(m_strLastError);
return FALSE;
}
复制代码
初始化完毕后,点击按钮 启动GPRS和SOCKET
void CTestSocketDlg::OnButton1()
{
if (!CERasDial(_T("gprs"),_T("*99***1#"),_T("*"),_T(""),_T(""),_T("")))
{
m_strLastError.Format(_T("当前信号弱,GPRS拨号失败"));
AfxMessageBox(m_strLastError);;
}else
StartSocketService(1);
}
BOOL CTestSocketDlg::StartSocketService( UINT nSocketType)
{
m_hClientSocket = socket(AF_INET,SOCK_STREAM,0);
if (m_hClientSocket == INVALID_SOCKET)
{
m_strLastError.Format(_T("创建连接socket发生错误,错误信息:%d"),WSAGetLastError());
return FALSE;
}
m_hRecvThread = CreateThread(NULL,0,RecvThread,this,0,NULL);
if (m_hRecvThread == NULL)
{
closesocket(m_hClientSocket);
m_hClientSocket = NULL;
m_strLastError.Format(_T("创建数据接收线程错误,错误原因:%d"),GetLastError());
return FALSE;
}
return TRUE;
}
复制代码
线程函数
DWORD WINAPI CTestSocketDlg::RecvThread(LPVOID lpParameter)
{
TRACE(_T("接收数据线程启动 \n"));
CTestSocketDlg *pClientSocket = (CTestSocketDlg *)lpParameter;
sockaddr_in m_SAI;
m_SAI.sin_addr.S_un.S_addr = inet_addr("57.95.26.32");
m_SAI.sin_family = AF_INET;
m_SAI.sin_port = htons(5080);
TRACE(_T("SOCKET Handle:%d in Thread \n"),pClientSocket->m_hClientSocket);
int nRet = connect(pClientSocket->m_hClientSocket,(sockaddr *)&m_SAI,sizeof(sockaddr));
if (nRet == SOCKET_ERROR)
{
return -1;
}
return 0;
}
复制代码
-
priced from $1.86 for the STM32L151 with 64Kbyte Flash in the LQFP48 package to $2.81 for the STM32L152 with 128Kbyte in LQFP100,跟预计的一致STM32L的性价比很高,性价比跟430比应该高不少。
-
引用 7 楼 mjp1234airen4385 的回复:
据我的了解Ce是不能直接访问SQLServer的。
在SQLCE里有所谓的推模式和拉模式:
分别是向数据库上传数据和从数据库取数据。
即使是这样也是通过在Windows的IIS上配置了一个网站完成的。
如果不使用推拉模式,可以考虑WebService中转SQL语句来处理,
如果老板非要直接访问数据库,请更换Ce操作系统为WindowsXPe系统。
据说WindowsXPe系统是……
顶下。佩服之心,有如滔滔江水...
-
引用 8 楼 hugh512 的回复:
是上海!实习1750,转正2500不包住!
大家觉得如何?
汗,我觉得楼主包住4K到5K合适,如果真的如楼主所描述的能力。呵呵。
-
pulse , display。
总共也就那么多元器件,一个个都看出来了啊。我的答案不见得准确。
-
这个很难分析。
-
不太明白,但是友情帮顶,希望以后通过学习能了解
-
~[img=http://forum.eeworld.net/PointForum/ui/scripts/eeworld/Plugin/003/monkey/46.gif][/img]~[img=http://forum.eeworld.net/PointForum/ui/scripts/eeworld/Plugin/003/monkey/46.gif][/img]~[img=http://forum.eeworld.net/PointForum/ui/scripts/eeworld/Plugin/003/monkey/46.gif][/img]~[img=http://forum.eeworld.net/PointForum/ui/scripts/eeworld/Plugin/003/monkey/46.gif][/img]~[img=http://forum.eeworld.net/PointForum/ui/scripts/eeworld/Plugin/003/monkey/46.gif][/img]~[img=http://forum.eeworld.net/PointForum/ui/scripts/eeworld/Plugin/003/monkey/46.gif][/img]~[img=http://forum.eeworld.net/PointForum/ui/scripts/eeworld/Plugin/003/monkey/46.gif][/img]~[img=http://forum.eeworld.net/PointForum/ui/scripts/eeworld/Plugin/003/monkey/46.gif][/img]~[img=http://forum.eeworld.net/PointForum/ui/scripts/eeworld/Plugin/003/monkey/46.gif][/img]~[img=http://forum.eeworld.net/PointForum/ui/scripts/eeworld/Plugin/003/monkey/46.gif[/img]
-
是的,就怕啥都没有,例程多了,对调试很方便