OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 15893|回复: 30

我在学习我有问题(学习过程中持续提问更新)

[复制链接]

1

主题

15

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2011-9-15
在线时间
0 小时
发表于 2011-9-15 11:06:48 | 显示全部楼层 |阅读模式

大家好!我刚入手AlienTek不久也在学习,有学习就有疑问!三人行必有我师,能解答的问题兄弟不要吝啬多谢

还在看书阶段先题问题
1、《STM32不完全手册》第63页 程序代码中
FLASH->ACR|= 0X32;  // Flash 2个延时周期     
问题:直接delay延时可否?

2、《STM32不完全手册》第62~63页 程序代码中对时钟寄存器的配置顺序可否更改?
就是都分别配置(不按顺序)外部时钟、PLL、预分频参数等,但是按系统时钟框图顺序开启:使能外部高速时钟->开启PLL->开启SYSCLK  可以这样么?
类似的情况在“进人待机模式”的程序代码中是不是也没有严格的配置顺序

3、《STM32不完全手册》第69页 中写到“在修改AIRCR的时候,我们一般采用 读--改--写 的步骤,来实现AIRCR原来的其他设置”这里的步骤程序里是直接通过temp来临时存在和赋值的,不能将AIRCR寄存器直接"或"修改的部分实现么?这样也不改变原有寄存器的数值啊?

 enum 生活: Boolean { 淡定 = 0, 蛋疼 = 1 }
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2011-9-15 11:17:25 | 显示全部楼层
回复【楼主位】咖啡:
---------------------------------
1,不可.
2,顺序是可以调换的.不过PLL一定要在时钟稳定之后才能设置的.
3,试试,你就知道了.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

15

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2011-9-15
在线时间
0 小时
 楼主| 发表于 2011-9-15 12:40:28 | 显示全部楼层
回复【2楼】正点原子:

---------------------------------
问题2、我的意思是在外部时钟还未开启(即还未HSE ON)的时候提前设置好PLL的倍频参数,之后再依次开启外部高速时钟(HSE ON)-->再开启PLL ON 
这样设置可以么?
 enum 生活: Boolean { 淡定 = 0, 蛋疼 = 1 }
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2011-9-15 12:46:59 | 显示全部楼层
回复【3楼】咖啡:
---------------------------------
你一定要这样,自己试试吧.
你的这些问题,类似:这样可以么?
那样可以吗的问题,就不用问了,自己动手试试,让事实告诉你答案,你会更加深刻.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

15

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2011-9-15
在线时间
0 小时
 楼主| 发表于 2011-9-22 10:32:26 | 显示全部楼层
回复【4楼】正点原子:

---------------------------------
多谢原子,
上述的问题基本在自己动手后都得到了想要的答案。

今天再提出一些疑问:
4、昨天在调试串口的时候出现这个现象:
如果打开串口调试软件,再编译、运行程序串口通讯收发均不正常;若是我先编译、运行程序,再开启串口调试软件,此时在进行通讯则正常,
不知道是什么原因?
5、关于NVIC,我的理解:它就像51、AVR里面的总中断控制器,而外设本身也有类似的中断允许位(比如串口接收中断允许),
一个不太理解的想法是,为什么NVIC不是像8位单片机那种直接一个位(bit)来控制总的中断允许,而是又细化分成每个外设都能独立控制允许,这样又和外设本身的中断允许位的功能重复么?设置这样难道就是所谓的“高级、智能”能更方便、随心所欲的控制?不解!
6、在看手册时有看到“MDK里面有定义”这样的提法,问题是,如果我的IDE更换了,那程序就不通用了?
另外,在哪可以查看到那些所谓的“MDK里面有定义”(那些结构体定义在哪能查阅)?

多谢!






 enum 生活: Boolean { 淡定 = 0, 蛋疼 = 1 }
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2011-9-22 10:46:43 | 显示全部楼层
回复【5楼】咖啡:
---------------------------------
4,用的什么串口调试软件?用JTAG下载的么?
5,NVIC比51/avr的中断高级得多.首先NVIC可以中断嵌套分组,这样你的中断可以随便设置优先级,其次NVIC可以管理的中断很多,理论上可以管理256个,51,AVR就那么2~3个中断,不是一个数量级的.
6,换编译器确实会有问题,不过只要你的地址一样,修改底层的一些代码就可以了.或者干脆拷贝MDK的相关文件(stm32f10x_lib.h)到你的新IDE上,照样可以用的.查看方法我在<<不完全手册>>MDK介绍的时候就讲了.自己回头看看吧.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

15

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2011-9-15
在线时间
0 小时
 楼主| 发表于 2011-9-22 12:09:37 | 显示全部楼层
回复【6楼】正点原子:
---------------------------------
4、串口调试助手用的是:ScomAssistant V2.2
     是用JlINK的SWD 10Mhz下载

6、stm32f10x_lib.h这个是MDK的相关文件?我怎么感觉想官方库的其中一个文件;
   另外MDK介绍我也看了,可能之前没留意,我再回头看看。
 enum 生活: Boolean { 淡定 = 0, 蛋疼 = 1 }
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2011-9-22 12:26:46 | 显示全部楼层
回复【7楼】咖啡:
---------------------------------
4,用sscom试试.
6,在mdk安装目录下可以搜到.主要用了里面的"stm32f10x_map.h"
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

15

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2011-9-15
在线时间
0 小时
 楼主| 发表于 2011-9-22 12:33:21 | 显示全部楼层
回复【8楼】正点原子:
---------------------------------
"stm32f10x_map.h"这个严格来讲是不是也算ST编写的,只是MDK包含进去了?
 enum 生活: Boolean { 淡定 = 0, 蛋疼 = 1 }
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2011-9-22 13:40:10 | 显示全部楼层
回复【9楼】咖啡:
---------------------------------
我不知道谁写的.反正不是我写的.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

15

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2011-9-15
在线时间
0 小时
 楼主| 发表于 2011-9-23 16:52:03 | 显示全部楼层
回复【10楼】正点原子:
---------------------------------
问题4、我用sscom与ScomAssistant V2.2 两者进行了多次的对比测试,sscom都是正常而ScomAssistant V2.2 还是有问题,真是串口调试软件的问题?
以前用ScomAssistant V2.2 都感觉也挺好用的,也没遇到过啥问题,:-(
问题5、对NVIC的理解稍微有点感觉了,NVIC除了开启/关闭对应外设的总中断之外,还涉及中断向量表的管理,如果没有配置好NVIC将会导致发生中断后不能正常进入“中断服务程序”,不知这么理解对吗?

另:问题1、我测试过了,用delay确实不行,但是我又没找到要配置 // Flash 2个延时周期 这个知识点在哪?求解

今天再继续提出个新问题:
6、外部中断实验中,外部中断触发是按键,个人感觉不太好,毕竟按键的抖动比较厉害,虽然中断服务函数内部有做软件消抖,但是硬件上的抖动可能重复触发中断,如果严格些是不是应该考虑外部增加硬件消抖电路?


 enum 生活: Boolean { 淡定 = 0, 蛋疼 = 1 }
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2011-9-23 17:55:58 | 显示全部楼层
回复【11楼】咖啡:
---------------------------------
4,说明你的串口助手有问题.
5,是的.
1,这个要看ST的AN,flash那章貌似又说,或者你百度吧.
6,这种问题在软件上解决好过硬件.硬件需要增加成本.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

15

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2011-9-15
在线时间
0 小时
 楼主| 发表于 2011-9-26 13:27:15 | 显示全部楼层
回复【12楼】正点原子:
---------------------------------
问题7(之前提问时写成问题6了):是软件上如果能解决问题成本肯定比硬件省,但我的意思是:在外部电平触发中断后(还未进入或已经进入中断服务函数),此时若外部的按键抖动导致外部电平不稳定,可能会引起外部中断的多次触发!
      或者说这种情况不会出现,因为进入外部中断后(此次中断还未完成),此时如果(由于按键抖动)外部再次触发也不会引起进入中断响应,因二者是同级中断(都是外部中断),所以无法嵌套! 
      此种可能行或说法是否准确?

今天新的问题:
8:关于独立看门狗的设置:
   参考手册中提到:IWDG-PR和IWDG-RLR分别得在PVU和RVU位为"0"时才能更新,但在《不完全手册》的程序中并未体现出来,所以我在我的程序里增加了判断如下:(程序已经通过测试)
void IWDG_Init(u8 prer, u16 rlr)
{
        IWDG->KR  = 0X5555;          // Enable IWDG->R   IWDG->RLR
        while(ReadPVU() != 0);         // Until VU = 0;  (IWDG->SR &(1<<0))
        IWDG->R  = prer;               // rescaler divider
        while(ReadRVU() != 0);        // Until RVU = 0;  (IWDG->SR &(1<<1))
        IWDG->RLR = rlr;                 // Reload value

        IWDG->KR  = 0XAAAA;         // Reload
        IWDG->KR  = 0XCCCC;         // Enable IWDG
}
这样是否会更保险些?

问题9:关于窗口看门狗的设置:
参考手册中提到两种方式的"喂狗"可以避免MCU复位:
方式1:在设定的窗口计数值内"喂狗"(即在上窗口和下窗口之间的时间内"喂狗");
方式2:发生EWI(提前唤醒中断)时"喂狗";
我看到《不完全手册》里的EWI中断服务程序,如下:
void WWDG_IRQHandler(void)
{
u8 wr,tr;
wr=WWDG->CFR&0X7F;
tr=WWDG->CR&0X7F;
if(tr<wr)
     WWDG_Set_Counter(WWDG_CNT);   //只有当计数器的值,小于窗口寄存器的值才能写CR!!
WWDG->SR=0X00;                                //清除提前唤醒中断标志位
LED1=!LED1;
}
程序中提到对计数器的值与窗口寄存器的值进行了比较,我回头仔细看了参考手册里对"喂狗"方式的说明,里面提到的两种方式,但其中的第二种方式(即发生EWI中断)"喂狗"发生的情况是减法计数器的数值递减到0x40时才对应发生中断的,也即此时的寄存器数值应该为0x40,我的理解是此时可以直接重载寄存器的数值而无需在进行数值比较,所以我把程序修改如下:
// 两种情况下喂狗,以避免MCU重启
// case 1: 0x40(min) < value < wValue(max) within in this time feed watch dog
// case 2: EWI interrupt feed watch dog

void WWDG_IRQHandler(void)   // EWI interrupt feed watch dog
{
WWDG_Reload(WWDG_CNT);
WWDG->SR = 0XFF;      
}
程序也通过测试,现象也符合我设置的现象,所以在这里想求证一下 原子,多谢!

 enum 生活: Boolean { 淡定 = 0, 蛋疼 = 1 }
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2011-9-26 15:23:11 | 显示全部楼层
回复【13楼】咖啡:
---------------------------------
7,据我所知,STM32的外部中断貌似还不支持多次连续触发.也就是在一次中断未得到有效响应之前,其他触发是无效的! 中断触发之后,必须要你把中断标志位清空才能捕获第二次触发.
8,你可以这样写的.
9,这里的比较却是是多余的,但是由于我的代码如果单纯的去掉比较,则不会得到正确结果.关于这个问题,论坛有一个讨论帖,后面我修改成了不需要比较的.不过要在初始化代码里面多写一句话,否则结果不正确!
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

15

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2011-9-15
在线时间
0 小时
 楼主| 发表于 2011-9-26 17:14:38 | 显示全部楼层
回复【14楼】正点原子:
---------------------------------
多谢原子!
上面你提到的"讨论贴"我找了,没找到,如果你能找到的话方便给我个链接,呵呵
我一般都是看参考手册里面的配置步骤,自己写代码,然后对比《不完全手册》的代码查找我自己没注意到的一些知识点,一下是我测试过的程序:

#include"WWDG.h"

u8 WWDG_CNT =0;

// T[6:0]:  tValue
// W[6:0]:  wValue
// preF:  reload divider
// 00(0):   2^0 = 1;
// 01(1):   2^1 = 2;
// 10(2):   2^2 = 4;
//  11(3):   2^3 = 8;

void WWDG_Init(u8 tValue,u8 wValue,u8 preF)
{
             // Enable WWDG clock
RCC->APB1ENR |= (1<<11);

// WWDG-CR & WWDG-CFR config
WWDG_CNT = tValue&0X7F;                // Save t count value for tValue reload

// WWDG-CFR config
WWDG->CFR  = 0x7F;   // Reset W[6:0]
WWDG->CFR |= (wValue&0x7F);               // Ser W[6:0]
WWDG->CFR |= (preF<<7);   // reload divider
WWDG->CFR |= (1<<9);                      // Enable EWI 

// WWDG-CR config
WWDG->CR   = 0x7F;   // Reset T[6:0]
WWDG->CR  |= (1<<7)|(WWDG_CNT);   // Enable WWDG & T[6:0]

// Set NVIC group
MY_NVIC_Init(2,3,WWDG_IRQChannel,2);
}

void WWDG_Reload(u8 count)
{
WWDG->CR |= (count&0x7F);
}
// 两种情况下喂狗,以避免MCU重启
// case 1: 0x40(min) < value < wValue(max) within in this time feed watch dog
// case 2: EWI interrupt feed watch dog

void WWDG_IRQHandler(void)   // EWI interrupt feed watch dog
{
WWDG_Reload(WWDG_CNT);
WWDG->SR = 0X00;      
}

帮我看一下是不是有问题,
 enum 生活: Boolean { 淡定 = 0, 蛋疼 = 1 }
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2011-9-26 18:18:55 | 显示全部楼层
http://www.openedv.com/posts/list/1233.htm
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

15

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2011-9-15
在线时间
0 小时
 楼主| 发表于 2011-9-27 09:38:00 | 显示全部楼层
回复【16楼】正点原子:
---------------------------------
你发的连接我看了,初看时感觉我的程序和你的差不多,仔细才发现修改过的程序在EWI(提前中断)开启前对WWDG->SR写了'0'(EWIF清0),回头又跑去看参考手册,仔细想了想,即使在看门狗没开启的情况下,计数器还是在持续递减当数值递减到0x40时仍会将EWIF置'1',此时虽然EWI、看门狗均未开启,但一旦开启可能之前就发生中断(这不是想要的中断),所以加这条语句还真是必须的,多谢原子!呵呵

以前有自己看STM32,但是当时使用库函数却不如现在这么明了,看了寄存器才是王道,嘿嘿
之前看到定时器后就一直卡在定时器上,这次有即将进入定时器的学习,嗯,这次必须迈过,加油啦!!
 enum 生活: Boolean { 淡定 = 0, 蛋疼 = 1 }
回复 支持 反对

使用道具 举报

1

主题

15

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2011-9-15
在线时间
0 小时
 楼主| 发表于 2011-9-30 12:36:41 | 显示全部楼层
回复【16楼】正点原子:
---------------------------------
遇到一个新的问题需要解答:
10、关于普通IO时钟使能、复用功能时钟使能、重映射功能时钟使能 分别是什么时候开启?

串口实验中:
     RCC->APB2ENR|=1<<2;   //使能PORTA口时钟 
     RCC->APB2ENR|=1<<14;  //使能串口时钟
如果我把   RCC->APB2ENR|=1<<2;   //使能PORTA口时钟  注释掉则程序无法正常;
但是PWM实验中用的TIM3却没将GPIOA的时钟打开?为什么?

那重映射AFIO(辅助功能时钟)又是什么时候开启?
 enum 生活: Boolean { 淡定 = 0, 蛋疼 = 1 }
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2011-9-30 12:55:19 | 显示全部楼层
回复【18楼】咖啡:
---------------------------------
用什么功能开什么时钟.
IO口一般都有多个功能(比如普通输入输出,又有PWM输出,还有捕获输入,还有ADC输入等.)当你使用的不是他的默认功能(一般是GPIO,但也有例外,比如JTAG的那几个IO,就默认是JTAG功能的),就必须开启复用功能时钟,并进行相应设置.才能达到你想要的目的.
重映射,其实就是把一些IO口的功能移到别的IO口上去,只有在这样使用的时候,才需要开启重映射时钟.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

15

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2011-9-15
在线时间
0 小时
 楼主| 发表于 2011-9-30 15:03:07 | 显示全部楼层
回复【19楼】正点原子:
---------------------------------
那用复用功能是普通IO的时钟要开启么?
怎么串口实验的程序中普通时钟要开启,而PWM实验中却不需要呢??
 enum 生活: Boolean { 淡定 = 0, 蛋疼 = 1 }
回复 支持 反对

使用道具 举报

6

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2011-8-16
在线时间
0 小时
发表于 2011-9-30 17:40:44 | 显示全部楼层
回复【20楼】咖啡:
---------------------------------
大哥你好猛啊,我也在学STM32,可仅仅是简单的运行一下原子前辈的例程,要像你这样才行啊。
STM32好难……
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2011-9-30 17:46:17 | 显示全部楼层
回复【20楼】咖啡:
---------------------------------
貌似要开启的.
具体你自己试验一下吧.这个问题,试验就有结果.不用问我.我也是试验的.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

15

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2011-9-15
在线时间
0 小时
 楼主| 发表于 2011-10-2 19:33:31 | 显示全部楼层
回复【22楼】正点原子:
---------------------------------
我尝试过了,是需要开启普通io的时钟的,呵呵

另外问个问题:
按道理sw仿真应该只需要两根线:swdio和swclk所以我在仿真器和mini板之间焊了一个转接板,就从仿真器接连vdd,gnd,swdio,swclk  4 线到mini板对应的引脚上,但是仿真失败了,提示没找到sw设备,求解??(硬件上已经检测4线均导通)
 enum 生活: Boolean { 淡定 = 0, 蛋疼 = 1 }
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2011-10-2 21:39:17 | 显示全部楼层
回复【23楼】咖啡:
---------------------------------
那么,你当前已经下载在STM32里面的代码,肯定是禁止了SWD功能.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

15

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2011-9-15
在线时间
0 小时
 楼主| 发表于 2011-10-2 22:45:41 | 显示全部楼层
回复【24楼】正点原子:
---------------------------------
为了测试你的提法我特意在板子上下载了led例程(里面没有禁用swd功能),但还是不能检测到,所以并不是因为禁用swd功能(因为同样的程序直接选用sw仿真器下载是没问题的,但单独引出sw的线却不能正常仿真,此时在选择硬件仿真项--setting--debug--选择sw方式,10mhz--auto clk 这里右上方就无法检测到有效的sw device)…
 enum 生活: Boolean { 淡定 = 0, 蛋疼 = 1 }
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2011-10-3 09:50:44 | 显示全部楼层
回复【25楼】咖啡:
---------------------------------
接错线了....
JTAG必须接一个3.3V给它,而且因为他有2个V3.3V,貌似要接其中某个才行的.
你换过接另外一个V3.3试试.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

15

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2011-9-15
在线时间
0 小时
 楼主| 发表于 2011-10-4 17:34:41 | 显示全部楼层
回复【26楼】正点原子:
---------------------------------
我换了一个引脚供电,确实可以了,多谢原子,呵呵

新的问题:
12,在oled实验中,举例要在x=100,y=29这个点写入1,实现:
oled_gram[100][4] |=1?2;
通用的表达式为:
oled_gram[x][7-y/8]|=1?(7-y%8);
不是很明白…

13, 在led实验中,有两中io速度:
一种是宏定义:lcd_rs_set;
另一种是:lcd_rs =1;
两者都是由宏定义最终寻址,为什么第一种较快,不解??
 enum 生活: Boolean { 淡定 = 0, 蛋疼 = 1 }
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2011-10-4 18:59:19 | 显示全部楼层
回复【27楼】咖啡:
---------------------------------
12,这种和你开辟的gram设置有关,看你是怎么个存放方法.完全属于数学问题了.
13,因为STM32有快速设置的寄存器,比如BSRR之类的.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

5

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2011-9-25
在线时间
0 小时
发表于 2011-10-17 00:11:11 | 显示全部楼层
lz为我们菜鸟榜样 哈哈 我也受教了
把握好今天
回复 支持 反对

使用道具 举报

46

主题

1579

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1970
金钱
1970
注册时间
2011-7-17
在线时间
4 小时
发表于 2011-10-17 19:18:21 | 显示全部楼层
回复【楼主位】咖啡:
---------------------------------
回复问题1:
..\ALIENTEK开发板资料\STM32参考资料\STM32闪存编程.pdf
第15页。
Time?And?Relative?Dimension?In?Space.
回复 支持 反对

使用道具 举报

2

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
70
金钱
70
注册时间
2011-10-17
在线时间
0 小时
发表于 2011-10-26 00:34:49 | 显示全部楼层
  好贴子,跟着学习中……
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-10 13:56

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表