/****************************************************************************** * [url=home.php?mod=space&uid=288409]@file[/url] main.c * [url=home.php?mod=space&uid=895143]@version[/url] V1.00 * $Revision: 5 $ * $Date: 15/10/06 11:04a $ * [url=home.php?mod=space&uid=247401]@brief[/url] Show hard fault information when hard fault happened * * @note * Copyright (C) 2013 Nuvoton Technology Corp. All rights reserved. *****************************************************************************/ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <stdint.h> #include "Mini51Series.h" /*---------------------------------------------------------------------------------------------------------*/ /* Global variables */ /*---------------------------------------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------------------------------------*/ /* Define functions prototype */ /*---------------------------------------------------------------------------------------------------------*/ int32_t main(void); void SYS_Init(void) { /*---------------------------------------------------------------------------------------------------------*/ /* Init System Clock */ /*---------------------------------------------------------------------------------------------------------*/ /* Unlock protected registers */ SYS_UnlockReg(); /* Set P5 multi-function pins for XTAL1 and XTAL2 */ SYS->P5_MFP &= ~(SYS_MFP_P50_Msk | SYS_MFP_P51_Msk); SYS->P5_MFP |= (SYS_MFP_P50_XTAL1 | SYS_MFP_P51_XTAL2); /* Enable External XTAL (4~24 MHz) */ CLK->PWRCON &= ~CLK_PWRCON_XTLCLK_EN_Msk; CLK->PWRCON |= (0x1 << CLK_PWRCON_XTLCLK_EN_Pos); // XTAL12M (HXT) Enabled /* Waiting for 12MHz clock ready */ CLK_WaitClockReady( CLK_CLKSTATUS_XTL_STB_Msk); /* Switch HCLK clock source to XTAL */ CLK->CLKSEL0 &= ~CLK_CLKSEL0_HCLK_S_Msk; CLK->CLKSEL0 |= CLK_CLKSEL0_HCLK_S_XTAL; /* Enable IP clock */ CLK->APBCLK |= CLK_APBCLK_UART_EN_Msk; // UART Clock Enable /* Select IP clock source */ CLK->CLKSEL1 &= ~CLK_CLKSEL1_UART_S_Msk; CLK->CLKSEL1 |= (0x0 << CLK_CLKSEL1_UART_S_Pos);// Clock source from external 12 MHz or 32 KHz crystal clock /* Update System Core Clock */ /* User can use SystemCoreClockUpdate() to calculate PllClock, SystemCoreClock and CycylesPerUs automatically. */ SystemCoreClockUpdate(); /*---------------------------------------------------------------------------------------------------------*/ /* Init I/O Multi-function */ /*---------------------------------------------------------------------------------------------------------*/ /* Set P1 multi-function pins for UART RXD and TXD */ SYS->P0_MFP &= ~(SYS_MFP_P00_Msk | SYS_MFP_P01_Msk); SYS->P0_MFP = SYS_MFP_P00_TXD | SYS_MFP_P01_RXD; /* Lock protected registers */ SYS_LockReg(); } void UART_Init() { /*---------------------------------------------------------------------------------------------------------*/ /* Init UART */ /*---------------------------------------------------------------------------------------------------------*/ UART_Open(UART, 115200); } /*---------------------------------------------------------------------------------------------------------*/ /* MAIN function */ /*---------------------------------------------------------------------------------------------------------*/ int main(void) { char *tmp = 0; /* Init System, IP clock and multi-function I/O */ SYS_Init(); /* Init UART for printf */ UART_Init(); strcpy(tmp,"HardFaultTest"); while(1); }
收藏0 举报
int add(int a , int b) { return a + b; } int main(void) { int num = 97; float score = 10.00F; int arr[3] = {1,2,3}; //----------------------- int* p_num = # float* p_score = &score; int (*p_arr)[3] = &arr; int (*fp_add)(int ,int ) = add; //p_add是指向函数add的函数指针 return 0; } 指针的正确操作,那个本来要给个地址的,结果给的是个0,所以就后面出错了。
huangcunxiake 发表于 2018-11-20 23:50 而地址0,肯定会已经填充了重要内容,如果这个时候破坏肯定就发生错误了
本版积分规则 发表回复 回帖并转播 回帖后跳转到最后一页
人才类勋章
发帖类勋章
等级类勋章
时间类勋章
147
1539
2
扫码关注 21ic 官方微信
扫码关注嵌入式微处理器
扫码关注电源系统设计
扫码关注21ic项目外包
扫码浏览21ic手机版
本站介绍 | 申请友情链接 | 欢迎投稿 | 隐私声明 | 广告业务 | 网站地图 | 联系我们 | 诚聘英才
京公网安备 11010802024343号