7150|35

157

帖子

0

TA的资源

纯净的硅(初级)

楼主
 

STM32F103ZE允许的最大循环数 [复制链接]

    用STM32F103ZE做了一个连续读写24C256的程序,为了验证连续读写能力,打算一次将24C256的数据写完,然后一次读完,通过串口中断输出的方式验证数据正确性。结果是如果把
        while(len<32768)
        {
                write[len++] = 0x55;
        }
加上就没有数据输出了,去掉则有!将读写长度限制在32766则有输出,超出则没有!和u8  write[32768]; 是否定义无关。不知道STM32F103是如何运行的!
源代码如下:int main(void) {               
        u16 len;       
        u8  write[32768];
        delay_init();                     //延时函数初始化          
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
        uart_init(115200);         //串口初始化为115200
        AT24CXX_Init();
        for(len=0;len<32766;len++)
        {
                USART_TX_BUF[len] = 0x66;
        }
        AT24CXX_Random_Write(0x00,USART_TX_BUF,32766);

        delay_ms(1000);

        for(len=0;len<32766;len++)
        {
                USART_TX_BUF[len] = 0x00;
        }
        if(AT24CXX_Random_Read(0x02,USART_TX_BUF,32766) == OPERATION_RIGHT)
        {
                USART_TX_LENGTH = 32766;
                USART_TX_COUNTER = 0 ;
                USART_SendData(USART1, USART_TX_BUF[0]);//向串口1发送数据
        }
                #if 1
        while(len<32768)
        {
                write[len++] = 0x55;
        }
        #endif
        while(1)
        {
                delay_ms(10);   
        }         



此帖出自stm32/stm8论坛

最新回复

请问楼主的问题解决了吗  详情 回复 发表于 2015-12-2 15:20
点赞 关注
 

回复
举报

9790

帖子

24

TA的资源

版主

沙发
 
你把 u8  write[32768];移到main函数外试试

使用调试模式,单步执行一下看看,。
此帖出自stm32/stm8论坛

点评

定义没有问题的,只要不循环赋值个这个数组,就可以发送出通讯数据了。我用示波器测试过,烧录和读写波形是有的!  详情 回复 发表于 2015-11-26 14:50
 
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 

回复

157

帖子

0

TA的资源

纯净的硅(初级)

板凳
 
littleshrimp 发表于 2015-11-26 13:23
你把 u8  write[32768];移到main函数外试试

使用调试模式,单步执行一下看看,。

定义没有问题的,只要不循环赋值个这个数组,就可以发送出通讯数据了。我用示波器测试过,烧录和读写波形是有的!
此帖出自stm32/stm8论坛

点评

单步调试一下呢?  详情 回复 发表于 2015-11-26 15:36
 
 

回复

6105

帖子

4

TA的资源

版主

4
 
本帖最后由 damiaa 于 2015-11-26 15:11 编辑

len=0;//?
while(len<32768){
     write[len++] = 0x55;
}
此帖出自stm32/stm8论坛

点评

是的,默认是0。  详情 回复 发表于 2015-11-26 16:13
 
 
 

回复

6040

帖子

196

TA的资源

版主

5
 
不知道你的u16是啥类型,既然数值能达到这么大,为何不定义成int,省的一堆问题。
此帖出自stm32/stm8论坛

点评

那是无符号整形,要解决这个问题容易,不用就是了。本身也只是测试程序。我只是想知道原因。  详情 回复 发表于 2015-11-26 16:12
 
 
 

回复

9790

帖子

24

TA的资源

版主

6
 
lixmlxm 发表于 2015-11-26 14:50
定义没有问题的,只要不循环赋值个这个数组,就可以发送出通讯数据了。我用示波器测试过,烧录和读写波形 ...

单步调试一下呢?
此帖出自stm32/stm8论坛

点评

另外,估计单步调试时间太久,断点可能才行。  详情 回复 发表于 2015-11-26 16:14
没有搞过单步调试,我只是怀疑运算量太大。  详情 回复 发表于 2015-11-26 16:11
 
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 

回复

157

帖子

0

TA的资源

纯净的硅(初级)

7
 

没有搞过单步调试,我只是怀疑运算量太大。
此帖出自stm32/stm8论坛
 
 
 

回复

157

帖子

0

TA的资源

纯净的硅(初级)

8
 
lcofjp 发表于 2015-11-26 15:20
不知道你的u16是啥类型,既然数值能达到这么大,为何不定义成int,省的一堆问题。

那是无符号整形,要解决这个问题容易,不用就是了。本身也只是测试程序。我只是想知道原因。
此帖出自stm32/stm8论坛
 
 
 

回复

157

帖子

0

TA的资源

纯净的硅(初级)

9
 

是的,默认是0。
此帖出自stm32/stm8论坛
 
 
 

回复

157

帖子

0

TA的资源

纯净的硅(初级)

10
 

另外,估计单步调试时间太久,断点可能才行。
此帖出自stm32/stm8论坛
 
 
 

回复

7608

帖子

2

TA的资源

五彩晶圆(高级)

11
 
STM32F103ZE才多大内存? USART_TX_BUF怎么定义的? 两个32k的数组加起来你真当所有64k内存都是你的啊。
此帖出自stm32/stm8论坛

点评

我用的是GD的,国产兆易的DEMO版,96K的SRAM .如果是STM32F103ZE,估计跑不起来吧!  详情 回复 发表于 2015-11-27 08:54
所以没有使用write变量时是编译器给优化了 使用时魔鬼就现身了?  详情 回复 发表于 2015-11-26 20:40
 
 
 

回复

9790

帖子

24

TA的资源

版主

12
 


所以没有使用write变量时是编译器给优化了 使用时魔鬼就现身了?
此帖出自stm32/stm8论坛
 
 
 

回复

157

帖子

0

TA的资源

纯净的硅(初级)

13
 
freebsder 发表于 2015-11-26 17:47
STM32F103ZE才多大内存? USART_TX_BUF怎么定义的? 两个32k的数组加起来你真当所有64k内存都是你的啊。

我用的是GD的,国产兆易的DEMO版,96K的SRAM .如果是STM32F103ZE,估计跑不起来吧!
此帖出自stm32/stm8论坛

点评

楼主的标题不是STM32F103么?  详情 回复 发表于 2015-11-27 10:02
先不提一楼帖子的内容,连标题里都是stm32,现在你告诉我怎么可能,傻逼才用stm32。。。本帖当我没说。  详情 回复 发表于 2015-11-27 09:18
 
 
 

回复

7608

帖子

2

TA的资源

五彩晶圆(高级)

14
 


先不提一楼帖子的内容,连标题里都是stm32,现在你告诉我怎么可能,傻逼才用stm32。。。本帖当我没说。
此帖出自stm32/stm8论坛
 
 
 

回复

2万

帖子

71

TA的资源

管理员

15
 
lixmlxm 发表于 2015-11-27 08:54
我用的是GD的,国产兆易的DEMO版,96K的SRAM .如果是STM32F103ZE,估计跑不起来吧!

楼主的标题不是STM32F103么?
此帖出自stm32/stm8论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身

点评

GD是可以代替STM,但这个技术论坛提的是STM,难道不能这么写?  详情 回复 发表于 2015-11-27 17:24
 
个人签名

加油!在电子行业默默贡献自己的力量!:)

 
 

回复

157

帖子

0

TA的资源

纯净的硅(初级)

16
 
soso 发表于 2015-11-27 10:02
楼主的标题不是STM32F103么?

GD是可以代替STM,但这个技术论坛提的是STM,难道不能这么写?
此帖出自stm32/stm8论坛

点评

GD 没有自己的芯片型号?是完全替代STM32的?  详情 回复 发表于 2015-11-27 17:28
 
 
 

回复

2万

帖子

71

TA的资源

管理员

17
 
lixmlxm 发表于 2015-11-27 17:24
GD是可以代替STM,但这个技术论坛提的是STM,难道不能这么写?

GD 没有自己的芯片型号?是完全替代STM32的?这两个是什么关系呢?给我们解释解释 呵呵 孤陋寡闻了
此帖出自stm32/stm8论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身

点评

代理和我说的时候不是你这样的话,你先批评你们代理吧。  详情 回复 发表于 2015-11-27 17:38
你开个GD论坛,如何?  详情 回复 发表于 2015-11-27 17:37
 
个人签名

加油!在电子行业默默贡献自己的力量!:)

 
 

回复

157

帖子

0

TA的资源

纯净的硅(初级)

18
 
soso 发表于 2015-11-27 17:28
GD 没有自己的芯片型号?是完全替代STM32的?这两个是什么关系呢?给我们解释解释 呵呵 孤陋寡闻了

你开个GD论坛,如何?
此帖出自stm32/stm8论坛
 
 
 

回复

157

帖子

0

TA的资源

纯净的硅(初级)

19
 
soso 发表于 2015-11-27 17:28
GD 没有自己的芯片型号?是完全替代STM32的?这两个是什么关系呢?给我们解释解释 呵呵 孤陋寡闻了

代理和我说的时候不是你这样的话,你先批评你们代理吧。
此帖出自stm32/stm8论坛

点评

我们不是ST公司的,GD也不是我们的代理。楼主要表达的意思是?  详情 回复 发表于 2015-11-27 17:49
你用的是这个芯片?http://www.gigadevice.com/product-series/26.html?locale=zh_CN  详情 回复 发表于 2015-11-27 17:48
代理?  详情 回复 发表于 2015-11-27 17:42
 
 
 

回复

2万

帖子

71

TA的资源

管理员

20
 
lixmlxm 发表于 2015-11-27 17:38
代理和我说的时候不是你这样的话,你先批评你们代理吧。

代理?
此帖出自stm32/stm8论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身

点评

GD有芯片代理的!这你难道不知?  详情 回复 发表于 2015-11-27 17:45
 
个人签名

加油!在电子行业默默贡献自己的力量!:)

 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表