กันยายน 24, 2018, 07:28:32 pm *
ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน
ส่งอีเมล์ยืนยันการใช้งาน?

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น
   หน้าแรก   ช่วยเหลือ เข้าสู่ระบบ สมัครสมาชิก  
หน้า: [1]   ลงล่าง
  พิมพ์  
ผู้เขียน หัวข้อ: error: #20: identifier "RCC_PLLSource_HSE_Div1" is undefined แก้ยังไงครับ  (อ่าน 3201 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
mth
Newbie
*
ออฟไลน์ ออฟไลน์

กระทู้: 3


| |
« เมื่อ: มกราคม 07, 2013, 06:10:57 pm »

Code: (c)
void RCC_setup(void)
{
   ErrorStatus HSEStartUpStatus;
   RCC_DeInit();
   RCC_HSEConfig(RCC_HSE_ON);
   HSEStartUpStatus = RCC_WaitForHSEStartUp();
   if (HSEStartUpStatus == SUCCESS)
   {
   RCC_PCLK1Config(RCC_HCLK_Div2);
   RCC_PCLK2Config(RCC_HCLK_Div1);
     RCC_HCLKConfig(RCC_SYSCLK_Div1);
        RCC_ADCCLKConfig(RCC_PCLK2_Div4);
        RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9); **********************
   RCC_PLLCmd(ENABLE);
   while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);
   RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
   while(RCC_GetSYSCLKSource() != 0x08);
   }

อันอื่นผ่านหมด ติดแค่ตรงนี้
บันทึกการเข้า
ShadowMan
Administrator
Hero Member
*****
ออฟไลน์ ออฟไลน์

เพศ: ชาย
กระทู้: 8272


ShadowWares


| |
« ตอบ #1 เมื่อ: มกราคม 07, 2013, 06:50:41 pm »

อ้างถึง
"RCC_PLLSource_HSE_Div1" is undefined
แปลว่า "RCC_PLLSource_HSE_Div1" ยังไม่ได้ถูกประกาศ .... แต่เราอ้างถึงมัน

การอ้างถึงสิ่งที่ไม่มีอยู่จริง จะมี Error เป็นเรื่องปกติ

ให้ตรวจสอบให้ดีว่าได้ทำการ include ไฟล์ต่างๆ ที่เกี่ยวข้องเข้ามาแล้วจริง
เพราะมากกว่า 90% พวก constant-definition จะอยู่ใน *.h

หรือลองเปลี่ยนจาก RCC_PLLSource_HSE_Div1 เป็น RCC_PLLSource_PREDIV1 หรือค่าอื่นๆ ที่ต้องการ

หรือ define เองไปตรงๆ เลยก็ได้

Code:
# define RCC_PLLSource_HSE_Div1 ((uint32_t) 0x00010000)

ทั้งสองวิธี ไม่การันตีว่าจะโปรแกรมจะทำงานได้หรือไม่ ทางที่ดี ให้ include ไฟล์มาให้ถูกตัว น่าจะเป็นทางเลือกที่ดีที่สุด

ปัญหาทำนองนี้จะเกิดขึ้นกับการลอก code ตัวอย่าง ของ MCU รุ่นหนึ่ง มาให้กับ MCU อีกรุ่นหนึ่ง หรือ *.h คนละเวอร์ชั่น ซึ่งมาจากการใช้ Compiler คนละเวอร์ชั่นเสียเป็นส่วนใหญ่ ลองตรวจสอบให้ดีครับ
บันทึกการเข้า

By SDW: Do No Wrong Is Do Nothing
          If you want to increase your success rate, double your failure rate
gensoccerx
Newbie
*
ออฟไลน์ ออฟไลน์

กระทู้: 2


| |
« ตอบ #2 เมื่อ: สิงหาคม 19, 2015, 03:07:19 pm »

อ่านเเล้วได้ประโยชน์มากเลยนะครับ
บันทึกการเข้า

หน้า: [1]   ขึ้นบน
  พิมพ์  
 
กระโดดไป: