打印
[技术问答]

新唐M451GPIO控制不了

[复制链接]
2377|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sgr2000|  楼主 | 2016-11-26 15:00 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
int32_t main(void)
{

    int32_t i32Err, i32TimeOutCnt;

    /* Unlock protected registers */
    SYS_UnlockReg();

    /* Init System, peripheral clock and multi-function I/O */
    SYS_Init();

    /* Lock protected registers */
    SYS_LockReg();

    /* Init UART0 for printf */
    UART0_Init();

    /* Configure PB.3 as Output mode and PD.7 as Input mode then close it */
    GPIO_SetMode(PB, BIT3, GPIO_MODE_OUTPUT);
    PB3 = 0;
    PB3 = 1;  // 此处PB3可以正常控制

    GPIO_SetMode(PE, BIT2, GPIO_MODE_OUTPUT);
    PE2 = 0;
    PE2 = 1;  // 此处PE2可以正常控制

    GPIO_SetMode(PE, BIT10, GPIO_MODE_OUTPUT);
    PE10 = 0;
    PE10 = 1;  // 此处PE10不能正常控制!!!【PE11/PE12/PE13也不能正常控制】
    。。。。




分析原因应该是管脚复用功能引起,难道一上电就被复用成其他功能了吗?

KEIL4.12下没有看到GPIO寄存器在哪里可以查看,记得原来NUC100是可以查看寄存器的。
沙发
戈卫东| | 2016-11-26 15:12 | 只看该作者
升级成新版本?

使用特权

评论回复
板凳
hemingxian| | 2016-11-26 16:49 | 只看该作者
新唐一般习惯把管脚复用功写在 SYS_Init()中,查看一下就好。

使用特权

评论回复
地板
sgr2000|  楼主 | 2016-11-26 22:11 | 只看该作者
hemingxian 发表于 2016-11-26 16:49
新唐一般习惯把管脚复用功写在 SYS_Init()中,查看一下就好。

查看了一下SYS_Init(); 里面只有占用了PD0/PD1作为UART0,其它没有。
我用M453VG6AE他们的开发板测试了所有的GPIO,测试后发现:
PA4/5/6/7/10/11、PC15、PE0~PE13这些口不能正常控制,
其余都可以正常进行输出控制,有点奇怪!

使用特权

评论回复
5
yiyigirl2014| | 2016-11-27 00:08 | 只看该作者
如果有复用,应该还有个函数来选择复用的功能。

使用特权

评论回复
6
heisexingqisi| | 2016-11-27 19:05 | 只看该作者
你可以看一下库函数里关于这几个操作的函数的说明,是不是不能用的管脚被你用了。

使用特权

评论回复
7
734774645| | 2016-11-27 19:28 | 只看该作者
部分管脚比较特别,需要特别的操作。

使用特权

评论回复
8
598330983| | 2016-11-27 23:04 | 只看该作者
应该去看看库函数里面关于gpio的描述,是哪些有什么不同的地方。

使用特权

评论回复
9
sgr2000|  楼主 | 2016-11-29 15:33 | 只看该作者
关键是我在main函数的一开始就去测试这些GPIO了,没有占用任何管脚。
另外看了很多关于M451的SPI帖子,都是SPI2,测试过SPI2,读写W25Q128都正常,反复测试了N次SPI0和SPI1,都不成功,有用SPI0和SPI1的吗?

使用特权

评论回复
10
deviceplugs| | 2016-11-29 19:08 | 只看该作者
肯定是哪个复用功能用了

使用特权

评论回复
11
捉虫天师| | 2016-11-29 23:27 | 只看该作者
看GPIO操作的库函数说明。肯定有哪些可以,哪些不行的说明。

使用特权

评论回复
12
Lbsonggz| | 2016-12-8 23:14 | 只看该作者
有时候,启动文件会有问题的。我使用emIDE和EmBITZ开发时就碰到这个问题,耽误很长时间,还是无意中发现的

使用特权

评论回复
13
mintspring| | 2016-12-10 21:05 | 只看该作者
楼上的是个高人,一直在见推广那个新开发软件。

使用特权

评论回复
14
yiyigirl2014| | 2016-12-11 20:05 | 只看该作者

根据网上说的没问题的。你直接用这个函数试试看。

使用特权

评论回复
15
heisexingqisi| | 2017-11-15 19:53 | 只看该作者
串口的重定向楼主会不会

使用特权

评论回复
16
yiy| | 2017-11-28 19:09 | 只看该作者
例子里不是有GPIO的各种操作吗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

15

帖子

1

粉丝