-
很有用的资料
-
没仔细读过这些地址,然道除唯一ID外的地址还有不一样的?
-
void USART_Configuration(void)
{
USART_InitTypeDef USART_InitStructure;
USART_InitStructure.USART_BaudRate = 9600; //波特率设置
USART_InitStructure.USART_WordLength = USART_WordLength_8b; //数据帧长度
USART_InitStructure.USART_StopBits = USART_StopBits_1; //停止位长度
USART_InitStructure.USART_Parity = USART_Parity_No; //不使用奇偶校验位
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; //不使用硬件流控
USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; //发送接收模式
// USART_Init(USART2, &USART_InitStructure);
/* Configure USART3 */
// USART_Init(USART3, &USART_InitStructure);
/* Configure UART4 */
USART_Init(UART4, &USART_InitStructure);
/* Configure UART5 */
USART_Init(UART5, &USART_InitStructure);
/* Enable the USART Transmoit interrupt: this interrupt is generated when the
USART1 transmit data register is empty */
//USART_ITConfig(USART2, USART_IT_TXE, ENABLE);
// USART_ITConfig(USART3, USART_IT_TXE, ENABLE);
USART_ITConfig(UART4, USART_IT_TXE, ENABLE);
/* Enable the USART Receive interrupt: this interrupt is generated when the
USART1 receive data register is not empty */
// USART_ITConfig(USART2, USART_IT_RXNE, ENABLE);
// USART_ITConfig(USART3, USART_IT_RXNE, ENABLE);
USART_ITConfig(UART4, USART_IT_RXNE, ENABLE);
USART_ITConfig(UART5, USART_IT_RXNE, ENABLE);
// USART_Cmd(USART2, ENABLE);
// USART_Cmd(USART3, ENABLE);
USART_Cmd(UART4, ENABLE);
USART_Cmd(UART5, ENABLE);
}
中断
NVIC_InitStructure.NVIC_IRQChannel = UART4_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 2;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
NVIC_InitStructure.NVIC_IRQChannel = UART5_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 2;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
时钟
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2|RCC_APB1Periph_USART3|
RCC_APB1Periph_UART4|RCC_APB1Periph_UART5, ENABLE);
-
帮你顶一下
-
正好前一段时间,微软的emvp邮件列表里讨论了这个话题,结论就是:真正可用的没有。建议放弃用JAVA开发wince程序的想法。
-
嗯,就一个发送电压值,一个接收电压值,然后在lcd上显示。你做过mcu和PC的串口通讯,那就行啦。软件上是一样的,硬件的话,相对同PC通信,免去了232芯片,因为不用电平转换了。
-
看看这里吧,希望有点帮助。
[url=http://www.cnblogs.com/we-hjb/archive/2010/01/27/1657973.html][/url]
-
有人用到过吗?
来一起研究研究啊.
-
居然还有2路DAC!
哈哈,还有2个超低功耗的比较器,比较器还能唤醒MCU,不错!
-
按19楼
中断服务程序为
void Timer0_ISR(void) interrupt 1
{
TH0 = (65535 - 10000) >> 8; //置定时初始值 10ms 12Mhz晶振
TL0 = (65535 - 10000) & 0xFF;
gSystemTick += 10;
}
-
你是指停止位吧?
-
现在基本的思路已经有了,是这样:客户端(一个笔记本)连接GPS和GPRS模块,用来接收定位信息和通过GPRS发送这些信息,服务器端连接一个GPRS模块,用来接收这些信息,然后解析,存数据库,应用。
问题是,笔记本怎么来连接GPRS模块,要怎样设置,才能实现发送或接收数据呢?
-
那该怎么解决啊?
-
接分祝福 回复内容太短了!
-
可以通过函数转换,下面是两种方法的例子,需要注意的是使用eVC和VS2005可能会支持不同的转换方式,我没记错的话,下面的例子1应该可以用在eVC中,例子2可以用在VS2005中,希望这些对楼主有帮助。
1、
CString str = _T("Hello World!");
char szStr[256] = {0};
wcstombs(szStr, str, str.GetLength());
const char * p = szStr;
2、
CString IMSI=_T("888888888888888");
char *pBuffer1 = NULL;
pBuffer1 = new char[IMSI.GetLength()+1];
ZeroMemory(pBuffer1, IMSI.GetLength()+1);
USES_CONVERSION;
pBuffer1=(char*)W2A((LPCTSTR)IMSI);
使用pBuffer1后,delete[] pBuffer1;但是我调试的时候报错,显示内存崩溃,后来我不用new了,直接初始化一个char数组,示例如下:
char pBuffer1[16]={0};
USES_CONVERSION;
strcpy(pBuffer1,(char*)(W2A((LPCTSTR)registerPak.IMSI)));
CString是个好东西,有很多好用的成员函数,并且动态分配内存空间。但在MFC学习初期,容易把CString与const char*,char*混淆。遇到三种类型数据转换时,总是得过且过。下面就剖析一下三者之间的转换关系与方法。
CString与const char*(LPCTSTR---是在Unicode环境下const char*的宏定义)
CString类提供一个const char*()把CString类型转换为LPCTSTR类型。
比如AfxMessageBox()的使用,可以采用:
char szMessageText[] = "Unknown error";
AfxMessageBox(szMessageText);
也可以这样:
CString strMessageText("Unknown ;error");
AfxMessageBox(strMessageText);
CString类也提供了一个构造函式把LPCTSTR类型转换为CString类型。比如:
CString strTruth;
strTruth += " is alive";
-
补充一下:系统定制了全部的默认组件,如果不加如任何组件的话就可以编译通过,是不是定制的组件有问题呢?我试着一个个的删,但还是遇到这种错误。
-
有是有SPI接口,但是引到音频接口上的。只好用GPIO口来模拟SPI与FPGA進行通信,只能使用ARM的輸出端口的EGPIO。
-
在编译好的工程里面呢,如果没有 可能是没有添加
-
EVC 是个什么样的程序,是不是调用了系统中没有的DLL
-
楼上很强噢,顶一下!