-
恩,好吧!!!!
-
大货有问题,小货不在话下。
-
ST的编译器就是不好用,你可以用IAR,不要用ST官方提供的开发软件。
-
又能下进去了,有惊无险 呵呵
-
/*******************************************************************************
* Function Name : USART1_IRQHandler
* Description : This function handles USART1 global interrupt request.
* Input : None
* Output : None
* Return : None
*******************************************************************************/
void USART1_IRQHandler(void)
{
u8 c;
char *s;
/*send what have received */
//USART_SendData(USART1, USART_ReceiveData(USART1));
c=USART_ReceiveData(USART1);
USART_SendData(USART1, c);
*s=c;
lcd_init ();
lcd_clear ();
lcd_print (s);
/* Clear the USART1 Receive interrupt */
USART_ClearITPendingBit(USART1, USART_IT_RXNE);
}
1、s 野指针,很可能导致fault
2、lcd_init (); lcd_clear (); lcd_print (s); 这三个函数不是一般的长,好嵌了一大堆delay(xxxx),不知你是怎么保证他们能在大约1ms内跑完的。
你不会刚开始学编程吧?
-
到ST官网上看看吧!
-
忘记说了一点,需要把intial_sp 赋值 0x2000a000
堆大小为0x6000
栈大小为0x4000
内存分配表如下:
HEAP 0x20000000 0x6000 <Block>
HEAP uninit 0x20000000 0x6000 <Block tail>
CSTACK 0x20006000 0x4000 <Block>
CSTACK uninit 0x20006000 0x4000 <Block tail>
.iar.dynexit 0x2000a000 0x1d4 <Block>
如果使用库自带的malloc,则malloc的范围在0x2000 0000 ---0x2000 5ffff
其他变量分配 0x2000a000----0x2000 FFFF
-
提问~~
-
交叉开关是用来影射片内外设到IO口的,如果不用到外设的话使能一下交叉开关然后当普通IO用就行了。
-
最好把错误贴出来看看
大家好帮你分析分析
build.err
-
引用 6 楼 l888888h 的回复:
读引脚,即读引脚处的电平
读端口,即读取与引脚相连的寄存器内的值
书上说读引脚数据前要先写“1”,不是很懂,请举例。读端口的情况呢?谢谢
看具体应用了!外部没有上拉电阻的需要先写1,如果有的话就不用了!
-
我也是在网上和你买的相同型号的单片机,程序也不能下载。。。。
也着急哦
-
就是为了 节约一些计算,不用相关算法,
自己先人工把相关数值 计算好,放在那里面,
然后采用查表的方法实现。
-
引用 3 楼 vivi886yeah 的回复:
不能像其他单片机那样,用flashmagic通过串口固化程序么?
比这个还复杂点,其实NXP的flashmagic还是比较好用的,呵呵
-
可以,请看STM32固件库中的例子。
-
封装一个显示缓冲区吧
用一个模糊定时器来在数据更新的时候自动刷新这个缓冲
也可以把左右移功能封装到这个驱动里面
-
可以查一下相关的ARM指令
-
明天去公司 给找找。
楼外 找厂家,也是不错的选择,如果有办法联系他们
谢谢咯,我已经联系了厂家,但是觉得希望渺茫,请您工作闲暇之余,帮我找一下,谢谢啊!
-
引用 11 楼 lgy198612 的回复:
? 换成判断P3.2口来引发中断就可以的,加上这一句 JNB P3.2? AJMP INT? 就是边沿触发了
这样做的话,就是要CPU循环访问P3.2口,其实并不是真正的中断啊。
-
在应用程序中打印信息。
RETAILMSG(1,(_T("Before memcpy \r\n")));
memcpy(DDBdata,(void *)image.rgb_address,width*height*2);
RETAILMSG(1,(_T("After memcpy \r\n")));
测试得出到了memcpy(DDBdata,(void *)image.rgb_address,width*height*2);就产生了异常。到底是咋回事呢?
这个函数和什么有关呢?